Control.OnContextMenuChanged(EventArgs) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Genera el evento ContextMenuChanged.
protected:
virtual void OnContextMenuChanged(EventArgs ^ e);
protected virtual void OnContextMenuChanged (EventArgs e);
abstract member OnContextMenuChanged : EventArgs -> unit
override this.OnContextMenuChanged : EventArgs -> unit
Protected Overridable Sub OnContextMenuChanged (e As EventArgs)
Parámetros
Ejemplos
El ejemplo de código siguiente es un método de generación de eventos que se ejecuta cuando cambia el valor de la Text propiedad. La Control clase tiene varios métodos con el patrón On
de nombre PropertyNameChanged
que genera el evento PropertyNameChanged
correspondiente cuando cambia el valor PropertyName (PropertyName representa el nombre de la propiedad correspondiente).
En el ejemplo de código siguiente se cambia el ForeColor objeto de una TextBox clase derivada que muestra los datos de moneda. En el ejemplo se convierte el texto en un número decimal y se cambia a ForeColorColor.Red si el número es negativo y a Color.Black si el número es positivo. En este ejemplo se requiere que tenga una clase que derive de la TextBox clase .
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
Comentarios
Cuando se genera un evento, se invoca el controlador de eventos a través de un delegado. Para obtener más información, consulte controlar y provocar eventos.
El método OnContextMenuChanged también permite que las clases derivadas controlen el evento sin adjuntar ningún delegado. Ésta es la técnica preferida para controlar el evento en una clase derivada.
Notas a los desarrolladores de herederos
Al reemplazar OnContextMenuChanged(EventArgs) en una clase derivada, asegúrese de llamar al método OnContextMenuChanged(EventArgs) de la clase base para que los delegados registrados reciban el evento.