英語で読む

次の方法で共有


ConvertEventHandler 代理人

定義

ParseFormat イベントおよび Binding イベントを処理するメソッドを表します。

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

パラメーター

sender
Object

イベントのソース。

e
ConvertEventArgs

イベント データを格納している ConvertEventArgs

次のコード

の例では、 Bindingと の両方のイベントにデリゲートをParseFormat追加し、 プロパティを使用して BindingsCollection コントロールの TextBox に をDataBindings追加BindingConvertEventHandlerします。 イベントに追加されたイベント デリゲートはDecimalToCurrency、 メソッドをFormat使用してToStringバインドされた値 (型) をDecimal通貨として書式設定します。 イベントにParse追加されたイベント デリゲートはCurrencyToDecimal、コントロールによって表示される値を 型に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