Freigeben über


Control.OnLocationChanged(EventArgs) Methode

Definition

Löst das LocationChanged-Ereignis aus.

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

Parameter

e
EventArgs

Eine EventArgs, die die Ereignisdaten enthält.

Beispiele

Das folgende Codebeispiel ist eine Ereignisaufhebungsmethode, die ausgeführt wird, wenn sich der wert der Text Eigenschaft ändert. Die Control Klasse verfügt über mehrere Methoden mit dem Namensmuster OnPropertyName-Changed, die das entsprechende PropertyNameChanged Ereignis auslösen, wenn sich der PropertyName Wert ändert (PropertyName den Namen der entsprechenden Eigenschaft darstellt).

Im folgenden Codebeispiel wird die ForeColor einer TextBox abgeleiteten Klasse geändert, in der Währungsdaten angezeigt werden. Im Beispiel wird der Text in eine Dezimalzahl konvertiert und die ForeColor in Color.Red geändert, 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

Das Auslösen eines Ereignisses ruft den Ereignishandler über einen Delegaten auf. Weitere Informationen finden Sie unter Behandeln und Auslösen von Ereignissen.

Mit der OnLocationChanged-Methode können abgeleitete Klassen auch das Ereignis behandeln, ohne einen Delegaten anzufügen. Dies ist die bevorzugte Technik für die Behandlung des Ereignisses in einer abgeleiteten Klasse.

Hinweise für Vererber

Achten Sie beim Überschreiben von OnLocationChanged(EventArgs) in einer abgeleiteten Klasse darauf, die OnLocationChanged(EventArgs) Methode der Basisklasse aufzurufen, damit registrierte Stellvertretungen das Ereignis empfangen.

Gilt für:

Weitere Informationen