Freigeben über


Control.OnBindingContextChanged-Methode

Löst das BindingContextChanged-Ereignis aus.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Syntax

'Declaration
Protected Overridable Sub OnBindingContextChanged ( _
    e As EventArgs _
)
'Usage
Dim e As EventArgs

Me.OnBindingContextChanged(e)
protected virtual void OnBindingContextChanged (
    EventArgs e
)
protected:
virtual void OnBindingContextChanged (
    EventArgs^ e
)
protected void OnBindingContextChanged (
    EventArgs e
)
protected function OnBindingContextChanged (
    e : EventArgs
)

Parameter

  • e
    Eine Instanz von EventArgs, die die Ereignisdaten enthält.

Hinweise

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

Die OnBindingContextChanged-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 Erben Wenn Sie OnBindingContextChanged in einer abgeleiteten Klasse überschreiben, müssen Sie die OnBindingContextChanged-Methode der Basisklasse aufrufen, sodass registrierte Delegaten das Ereignis empfangen.

Beispiel

Im folgenden Codebeispiel wird eine Ereignisauslösermethode veranschaulicht, die beim Ändern des Text-Eigenschaftenwerts ausgeführt wird. Die Control-Klasse besitzt mehrere Methoden mit dem Namensmuster On <PropertyName> Changed, die bei einer Änderung des Eigenschaftenwerts das entsprechende Ereignis auslösen. Sie können wie im folgenden Codebeispiel eine ereignisauslösende Methode erstellen, um das entsprechende Ereignis auszulösen, wenn sich der zugehörige Eigenschaftenwert ändert.

Im folgenden Codebeispiel wird die ForeColor einer von einer TextBox abgeleiteten Klasse geändert, die Währungsdaten anzeigt. Im Beispiel wird der Text in eine Dezimalzahl umgewandelt und die ForeColor in Color.Red geändert, wenn die Zahl negativ ist, und in Color.Black, wenn die Zahl positiv ist. In diesem Beispiel ist eine Klasse erforderlich, die von der TextBox-Klasse abgeleitet ist.

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
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:
   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 void OnTextChanged(System.EventArgs e)
{
    try {
        // Convert the text to a Double and determine
        // if it is a negative number.
        if (System.Double.Parse(this.get_Text()) < 0) {
            // If the number is negative, display it in Red.
            this.set_ForeColor(Color.get_Red());
        }
        else {
            // If the number is not negative, display it in Black.
            this.set_ForeColor(Color.get_Black());
        }
    }
    catch (System.Exception exp) {
        // If there is an error, display the 
        // text using the system colors.
        this.set_ForeColor(SystemColors.get_ControlText());
    }
    super.OnTextChanged(e);
} //OnTextChanged

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

Control-Klasse
Control-Member
System.Windows.Forms-Namespace
BindingContextChanged
BindingContext