ControlEventHandler ControlEventHandler ControlEventHandler ControlEventHandler Delegate

定義

ControlAdded クラスの ControlRemoved イベントと Control イベントを処理するメソッドを表します。Represents the method that will handle the ControlAdded and ControlRemoved events of the Control class.

public delegate void ControlEventHandler(System::Object ^ sender, ControlEventArgs ^ e);
public delegate void ControlEventHandler(object sender, ControlEventArgs e);
type ControlEventHandler = delegate of obj * ControlEventArgs -> unit
Public Delegate Sub ControlEventHandler(sender As Object, e As ControlEventArgs)

パラメーター

sender
Object Object Object Object

イベントのソース。The source of the event.

e
ControlEventArgs ControlEventArgs ControlEventArgs ControlEventArgs

イベント データを格納している ControlEventArgsA ControlEventArgs that contains the event data.

継承
ControlEventHandlerControlEventHandlerControlEventHandlerControlEventHandler

次のコード例を作成します、Bindingを追加します、ConvertEventHandler両方へのデリゲート、ParseFormatイベント、し、追加、BindingBindingsCollectionTextBoxを介して制御、 DataBindingsプロパティ。The following code example creates a Binding, adds a ConvertEventHandler delegate to both the Parse and Format events, and adds the Binding to the BindingsCollection of a TextBox control through the DataBindings property. DecimalToCurrencyStringに追加のイベントのデリゲート、Formatイベント、バインドされた値の書式設定 (、Decimal型) の通貨を使用して、ToStringメソッド。The DecimalToCurrencyString event delegate, added to the Format event, formats the bound value (a Decimal type) as currency using the ToString method. CurrencyStringToDecimalに追加のイベントのデリゲート、Parseイベントをコントロールに表示される値の変換に、Decimal型。The CurrencyStringToDecimal event delegate, added to the Parse event, converts the value displayed by the control back to the Decimal type.

private:
   void BindControl()
   {
      // Create the binding first. The OrderAmount is typed as Decimal.
      Binding^ b = gcnew Binding(
         "Text",ds,"customers.custToOrders.OrderAmount" );
      // Add the delegates to the events.
      b->Format += gcnew ConvertEventHandler( this, &Form1::DecimalToCurrencyString );
      b->Parse += gcnew ConvertEventHandler( this, &Form1::CurrencyStringToDecimal );
      text1->DataBindings->Add( b );
   }

   void DecimalToCurrencyString( Object^ /*sender*/, ConvertEventArgs^ cevent )
   {
      // Check for the appropriate DesiredType.
      if ( cevent->DesiredType != String::typeid )
      {
         return;
      }

      // Use the ToString method to format the value as currency ("c").
      cevent->Value = ( (Decimal^)(cevent->Value) )->ToString( "c" );
   }

   void CurrencyStringToDecimal( Object^ /*sender*/, ConvertEventArgs^ cevent )
   {
      // Check for the appropriate DesiredType. 
      if ( cevent->DesiredType != Decimal::typeid )
      {
         return;
      }

      // Convert the string back to decimal using the static Parse method.
      cevent->Value = Decimal::Parse( cevent->Value->ToString(),
         NumberStyles::Currency, nullptr );
   }
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);
}

Private Sub BindControl()
    ' Create the binding first. The OrderAmount is typed as Decimal.
    Dim b As New Binding("Text", ds, "customers.custToOrders.OrderAmount")
    ' Add the delegates to the events.
    AddHandler b.Format, AddressOf DecimalToCurrencyString
    AddHandler b.Parse, AddressOf CurrencyStringToDecimal
    text1.DataBindings.Add(b)
End Sub 'BindControl


Private Sub DecimalToCurrencyString(sender As Object, cevent As ConvertEventArgs)
    ' Check for the appropriate DesiredType.
    If cevent.DesiredType IsNot GetType(String) Then
        Return
    End If 
    ' Use the ToString method to format the value as currency ("c").
    cevent.Value = CDec(cevent.Value).ToString("c")
End Sub 'DecimalToCurrencyString


Private Sub CurrencyStringToDecimal(sender As Object, cevent As ConvertEventArgs)
    ' Check for the appropriate DesiredType. 
    If cevent.DesiredType IsNot GetType(Decimal) Then
        Return
    End If 
    ' Convert the string back to decimal using the static Parse method.
  cevent.Value = Decimal.Parse(cevent.Value.ToString, _
  NumberStyles.Currency, nothing)

End Sub 'CurrencyStringToDecimal

注釈

ControlEventArgs デリゲートを作成する場合は、イベントを処理するメソッドを指定します。When you create a ControlEventArgs delegate, you identify the method that will handle the event. イベントをイベント ハンドラーに関連付けるには、デリゲートのインスタンスをイベントに追加します。To associate the event with your event handler, add an instance of the delegate to the event. デリゲートを削除しない限り、そのイベントが発生すると常にイベント ハンドラーが呼び出されます。The event handler is called whenever the event occurs, unless you remove the delegate. イベント ハンドラー デリゲートの詳細については、次を参照してください。処理とイベントの発生します。For more information about event handler delegates, see Handling and Raising Events.

拡張メソッド

GetMethodInfo(Delegate) GetMethodInfo(Delegate) GetMethodInfo(Delegate) GetMethodInfo(Delegate)

指定したデリゲートによって表されるメソッドを表すオブジェクトを取得します。Gets an object that represents the method represented by the specified delegate.

適用対象

こちらもご覧ください