ControlEventHandler 代理人

定義

表示處理 ControlAdded 類別的 ControlRemovedControl 事件的方法。

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

參數

sender
Object

事件的來源。

e
ControlEventArgs

ControlEventArgs,其中包含事件資料。

範例

下列程式碼範例會 Binding 建立 、將委派新增 ConvertEventHandlerParseFormat 事件,並透過 屬性將 加入 Binding 控制項 BindingsCollectionTextBoxDataBindings 。 事件 DecimalToCurrencyString 委派已新增至 Format 事件,使用 方法將系結值格式化 (Decimal 類型) 為貨幣 ToString 。 新增 CurrencyStringToDecimalParse 事件的事件委派會將控制項 Decimal 所顯示的值轉換為類型。

C#
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 委派時,必須識別處理事件的方法。 若要使事件與您的事件處理常式產生關聯,請將委派的執行個體 (Instance) 加入至事件。 除非您移除委派,否則每當事件發生時就會呼叫事件處理常式。 如需事件處理常式委派的詳細資訊,請參閱 處理和引發事件

擴充方法

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

另請參閱