閱讀英文

共用方式為


ConvertEventHandler 代理人

定義

表示處理 ParseFormatBinding 事件的方法。

C#
public delegate void ConvertEventHandler(object sender, ConvertEventArgs e);
C#
public delegate void ConvertEventHandler(object? sender, ConvertEventArgs e);

參數

sender
Object

事件的來源。

e
ConvertEventArgs

ConvertEventArgs,其中包含事件資料。

範例

下列程式碼

範例會 Binding 建立 、將委派加入 ConvertEventHandlerParse 至 和 Format 事件,並透過 屬性將 加入 BindingBindingsCollection 至 控制項的 TextBoxDataBindings 。 新增 DecimalToCurrencyFormat 事件的事件委派會使用 ToString 方法,將系結值格式化 Decimal (類型) 為貨幣。 加入 CurrencyToDecimalParse 事件的事件委派會將控制項所顯示的值轉換回 Decimal 類型。

C#
private void DecimalToCurrency(object sender, ConvertEventArgs cevent)
{
   // The method converts only to string type. Test this using the 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 CurrencyToDecimal(object sender, ConvertEventArgs cevent)
{
   // ' The method converts only to decimal type. 
   if (cevent.DesiredType != typeof(decimal)) return;

   // Converts the string back to decimal using the static ToDecimal method.
   cevent.Value = Convert.ToDecimal(cevent.Value.ToString());
}

private void BindControl()
{
   // Creates 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(DecimalToCurrency);
   b.Parse += new ConvertEventHandler(CurrencyToDecimal);
   text1.DataBindings.Add(b);
}

備註

建立 ConvertEventHandler 委派時,必須識別處理事件的方法。 若要使事件與您的事件處理常式產生關聯,請將委派的執行個體 (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