Freigeben über


Control.OnContextMenuChanged-Methode

Löst das ContextMenuChanged-Ereignis aus.

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

Syntax

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

Me.OnContextMenuChanged(e)
protected virtual void OnContextMenuChanged (
    EventArgs e
)
protected:
virtual void OnContextMenuChanged (
    EventArgs^ e
)
protected void OnContextMenuChanged (
    EventArgs e
)
protected function OnContextMenuChanged (
    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 OnContextMenuChanged-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 OnContextMenuChanged in einer abgeleiteten Klasse überschreiben, müssen Sie die OnContextMenuChanged-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 verfügt über mehrere Methoden mit dem Namensmuster OnPropertyNameChanged, die das entsprechende PropertyNameChanged-Ereignis auslösen, wenn sich der PropertyName-Wert ändert (PropertyName stellt den Namen der entsprechenden Eigenschaft dar).

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

Siehe auch

Referenz

Control-Klasse
Control-Member
System.Windows.Forms-Namespace
ContextMenuChanged
ContextMenu