Прочитать на английском

Поделиться через


ControlEventHandler Делегат

Определение

Представляет метод, обрабатывающий события ControlAdded и ControlRemoved класса Control.

public delegate void ControlEventHandler(object sender, ControlEventArgs e);
public delegate void ControlEventHandler(object? sender, ControlEventArgs e);

Параметры

sender
Object

Источник события.

e
ControlEventArgs

Объект ControlEventArgs, содержащий данные события.

Примеры

В следующем примере кода создается Binding, добавляется ConvertEventHandler делегат как к событиям Parse и Format , так и Binding к BindingsCollection элементу TextBox управления с помощью DataBindings свойства . Делегат DecimalToCurrencyString события, добавленный к событию Format , форматирует привязанное Decimal значение (тип) как валюту ToString с помощью метода . Делегат CurrencyStringToDecimal события, добавленный к событию Parse , преобразует значение, отображаемое элементом управления, обратно в 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);
}

Комментарии

При создании делегата ControlEventArgs необходимо указать метод, обрабатывающий событие. Чтобы связать событие с обработчиком событий, нужно добавить в событие экземпляр делегата. Обработчик событий вызывается всякий раз, когда происходит событие, если делегат не удален. Дополнительные сведения о делегатах обработчика событий см. в разделе Обработка и вызов событий.

Методы расширения

GetMethodInfo(Delegate)

Получает объект, представляющий метод, представленный указанным делегатом.

Применяется к

Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

См. также раздел