Exportar (0) Imprimir
Expandir todo
Expandir Minimizar

ControlEventHandler (Delegado)

Representa el método que controlará los eventos ControlAdded y ControlRemoved de la calase Control.

Espacio de nombres: System.Windows.Forms
Ensamblado: System.Windows.Forms (en system.windows.forms.dll)

public delegate void ControlEventHandler (
	Object sender,
	ControlEventArgs e
)
/** @delegate */
public delegate void ControlEventHandler (
	Object sender, 
	ControlEventArgs e
)
No aplicable.

Parámetros

sender

Origen del evento.

e

Objeto ControlEventArgs que contiene los datos del evento.

Cuando se crea un delegado de ControlEventArgs, se identifica el método que controlará el evento. Para asociar el evento con el controlador de eventos, hay que agregar una instancia del delegado al evento. Se llama al controlador de eventos siempre que se produce el evento, a menos que se quite el delegado. Para obtener más información sobre los delegados del controlador de eventos, vea Eventos y delegados.

En el siguiente ejemplo de código se crea un objeto Binding, se agrega un delegado ConvertEventHandler a los eventos Parse y Format, y se agrega el objeto Binding a la colección BindingsCollection de un control TextBox mediante la propiedad DataBindings. El delegado de eventos DecimalToCurrencyString, agregado al evento Format, aplica formato de moneda al valor enlazado (tipo Decimal) mediante el método ToString. El delegado de eventos CurrencyStringToDecimal, agregado al evento Parse, vuelve a convertir el valor mostrado por el control al tipo Decimal.

private void BindControl()
{
   // Create the binding first. The OrderAmount is typed as Decimal.
   Binding b = new Binding
      ("Text", ds, "customers.custToOrders.OrderAmount");
   // Add the delegates to the events.
   b.Format += new ConvertEventHandler(DecimalToCurrencyString);
   b.Parse += new ConvertEventHandler(CurrencyStringToDecimal);
   text1.DataBindings.Add(b);
}

private void DecimalToCurrencyString(object sender, ConvertEventArgs cevent)
{
   // Check for the appropriate DesiredType.
   if(cevent.DesiredType != typeof(string)) return;

   // Use the ToString method to format the value as currency ("c").
   cevent.Value = ((decimal) cevent.Value).ToString("c");
}

private void CurrencyStringToDecimal(object sender, ConvertEventArgs cevent)
{
   // Check for the appropriate DesiredType. 
   if(cevent.DesiredType != typeof(decimal)) return;

   // Convert the string back to decimal using the static Parse method.
   cevent.Value = Decimal.Parse(cevent.Value.ToString(),
   NumberStyles.Currency, null);
}


private void BindControl()
{
    // Create the binding first. The OrderAmount is typed as Decimal.
    Binding b = new Binding("Text",ds,"customers.custToOrders.OrderAmount");
    // Add the delegates to the events.
    b.add_Format(new ConvertEventHandler(DecimalToCurrencyString));
    b.add_Parse(new ConvertEventHandler(CurrencyStringToDecimal));
    text1.get_DataBindings().Add(b);
} //BindControl

private void DecimalToCurrencyString(Object sender, ConvertEventArgs cevent)
{
    // Check for the appropriate DesiredType.
    if (!(cevent.get_DesiredType().Equals(String.class.ToType()))) {
        return;
    }
    // Use the ToString method to format the value as currency ("c").
    cevent.set_Value(((System.Decimal)cevent.get_Value()).ToString("c"));
} //DecimalToCurrencyString

private void CurrencyStringToDecimal(Object sender, ConvertEventArgs cevent)
{
    // Check for the appropriate DesiredType. 
    if (!(cevent.get_DesiredType().Equals(System.Decimal.class.ToType()))) {
        return;
    }
    // Convert the string back to decimal using the static Parse method.
    cevent.set_Value(Decimal.Parse(cevent.get_Value().ToString(), 
        NumberStyles.Currency, null));
} //CurrencyStringToDecimal

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0, 1.1, 1.0
Mostrar:
© 2015 Microsoft