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将 委托添加到 ConvertEventHandlerParseFormat 事件,并通过 DataBindings 属性将 添加到BindingBindingsCollection控件的 TextBoxDecimalToCurrency添加到 Format 事件的事件委托使用 ToString 方法将类型 (Decimal绑定值) 格式化为货币。 CurrencyToDecimal添加到 事件的事件Parse委托将控件显示的值转换回 类型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 委托时,需要标识将处理该事件的方法。 若要将事件与事件处理程序关联,请将该委托的一个实例添加到事件中。 除非移除了该委托,否则每当发生该事件时就会调用事件处理程序。 有关事件处理程序委托的详细信息,请参阅 处理和引发事件

扩展方法

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