Control.OnLocationChanged(EventArgs) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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 On
PropertyName-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.