Freigeben über


Control.OnVisibleChanged(EventArgs) Methode

Definition

Löst das VisibleChanged-Ereignis aus.

protected:
 virtual void OnVisibleChanged(EventArgs ^ e);
protected virtual void OnVisibleChanged (EventArgs e);
abstract member OnVisibleChanged : EventArgs -> unit
override this.OnVisibleChanged : EventArgs -> unit
Protected Overridable Sub OnVisibleChanged (e As EventArgs)

Parameter

e
EventArgs

Ein EventArgs, das die Ereignisdaten enthält.

Beispiele

Das folgende Codebeispiel ist eine Ereignisauslösungsmethode, die ausgeführt wird, wenn sich der Text Eigenschaftswert ändert. Die Control -Klasse verfügt über mehrere Methoden mit dem Namensmuster OnPropertyNameChanged , die das entsprechende PropertyName-EreignisChanged auslösen, wenn sich der PropertyName-Wert ändert (PropertyName stellt den Namen der entsprechenden Eigenschaft dar).

Das folgende Codebeispiel ändert die einer TextBox abgeleiteten Klasse, die ForeColor Währungsdaten anzeigt. Das Beispiel konvertiert den Text in eine Dezimalzahl und ändert in ForeColorColor.Red , wenn die Zahl negativ ist, und in Color.Black , wenn die Zahl positiv ist. Dieses Beispiel erfordert, dass Sie über eine Klasse verfügen, die von der TextBox -Klasse abgeleitet ist.

protected:
   virtual void OnTextChanged( System::EventArgs^ e ) override
   {
      try
      {
         // Convert the text to a Double and determine
         // if it is a negative number.
         if ( Double::Parse( this->Text ) < 0 )
         {
            // If the number is negative, display it in Red.
            this->ForeColor = Color::Red;
         }
         else
         {
            // If the number is not negative, display it in Black.
            this->ForeColor = Color::Black;
         }
      }
      catch ( Exception^ ) 
      {
         // If there is an error, display the
         // text using the system colors.
         this->ForeColor = SystemColors::ControlText;
      }

      TextBox::OnTextChanged( e );
   }
protected override void OnTextChanged(System.EventArgs e)
{
   try
   {
      // Convert the text to a Double and determine
      // if it is a negative number.
      if(double.Parse(this.Text) < 0)
      {
         // If the number is negative, display it in Red.
         this.ForeColor = Color.Red;
      }
      else
      {
         // If the number is not negative, display it in Black.
         this.ForeColor = Color.Black;
      }
   }
   catch
   {
      // If there is an error, display the 
      // text using the system colors.
      this.ForeColor = SystemColors.ControlText;
   }
   
   base.OnTextChanged(e);
}
Protected Overrides Sub OnTextChanged(e As System.EventArgs)
   Try
      ' Convert the text to a Double and determine
      ' if it is a negative number.
      If Double.Parse(Me.Text) < 0 Then
         ' If the number is negative, display it in Red.
         Me.ForeColor = Color.Red
      Else
         ' If the number is not negative, display it in Black.
         Me.ForeColor = Color.Black
      End If
   Catch
      ' If there is an error, display the
      ' text using the system colors.
      Me.ForeColor = SystemColors.ControlText
   End Try

   MyBase.OnTextChanged(e)
End Sub

Hinweise

Durch das Auslösen eines Ereignisses wird der Ereignishandler über einen Delegaten aufgerufen. Weitere Informationen finden Sie unter Behandeln und Auslösen von Ereignissen.

Die OnVisibleChanged -Methode ermöglicht es auch abgeleiteten Klassen, das Ereignis ohne Anfügen eines Delegaten zu behandeln. Dies ist das bevorzugte Verfahren für die Behandlung des Ereignisses in einer abgeleiteten Klasse.

Hinweise für Vererber

Wenn Sie OnVisibleChanged(EventArgs) in einer abgeleiteten Klasse überschreiben, müssen Sie die OnVisibleChanged(EventArgs)-Methode der Basisklasse aufrufen, damit registrierte Delegaten das Ereignis empfangen.

Gilt für:

Weitere Informationen