Compartir vía


Control.OnLocationChanged(EventArgs) Método

Definición

Genera el evento LocationChanged.

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)

Parámetros

e
EventArgs

Un EventArgs que contiene los datos del evento.

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 propiedad Text. La clase tiene varios métodos con el patrón de nombre PropertyName que genera el evento PropertyName correspondiente cuando cambia el valor PropertyName (PropertyName representa el nombre de la propiedad correspondiente).

En el ejemplo de código siguiente se cambia la ForeColor de una clase derivada TextBox que muestra los datos de moneda. En el ejemplo se convierte el texto en un número decimal y se cambia el ForeColor a Color.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 clase TextBox.

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

La generación de un evento invoca el controlador de eventos a través de un delegado. Para obtener más información, vea control y generación de eventos.

El método OnLocationChanged también permite que las clases derivadas controle el evento sin adjuntar un delegado. Esta es la técnica preferida para controlar el evento en una clase derivada.

Notas a los desarrolladores de herederos

Al invalidar OnLocationChanged(EventArgs) en una clase derivada, asegúrese de llamar al método OnLocationChanged(EventArgs) de la clase base para que los delegados registrados reciban el evento.

Se aplica a

Consulte también