ConvertEventArgs クラス

定義

Format イベントおよび Parse イベントのデータを提供します。Provides data for the Format and Parse events.

public ref class ConvertEventArgs : EventArgs
public class ConvertEventArgs : EventArgs
type ConvertEventArgs = class
    inherit EventArgs
Public Class ConvertEventArgs
Inherits EventArgs
継承
ConvertEventArgs
派生

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

private:
   void DecimalToCurrencyString( Object^ /*sender*/, ConvertEventArgs^ cevent )
   {
      // The method converts only to string type. Test this using the 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 )
   {
      // The method converts back to decimal type only. 
      if ( cevent->DesiredType != Decimal::typeid )
      {
         return;
      }
      
      // Converts the string back to decimal using the static Parse method.
      cevent->Value = Decimal::Parse( cevent->Value->ToString(),
         NumberStyles::Currency, nullptr );
   }

   void BindControl()
   {
      // Creates the binding first. The OrderAmount is typed as Decimal.
      Binding^ b = gcnew Binding(
         "Text",ds,"customers.custToOrders.OrderAmount" );
      
      // Adds the delegates to the events.
      b->Format += gcnew ConvertEventHandler(
         this, &Form1::DecimalToCurrencyString );
      b->Parse += gcnew ConvertEventHandler(
         this, &Form1::CurrencyStringToDecimal );
      text1->DataBindings->Add( b );
   }
private void DecimalToCurrencyString(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 CurrencyStringToDecimal(object sender, ConvertEventArgs cevent)
{
   // The method converts back to decimal type only. 
   if(cevent.DesiredType != typeof(decimal)) return;

   // Converts the string back to decimal using the static Parse method.
   cevent.Value = Decimal.Parse(cevent.Value.ToString(),
   NumberStyles.Currency, null);
}

private void BindControl()
{
   // Creates the binding first. The OrderAmount is typed as Decimal.
   Binding b = new Binding
   ("Text", ds, "customers.custToOrders.OrderAmount");
   // Adds the delegates to the events.
   b.Format += new ConvertEventHandler(DecimalToCurrencyString);
   b.Parse += new ConvertEventHandler(CurrencyStringToDecimal);
   text1.DataBindings.Add(b);
}

Private Sub DecimalToCurrencyString(sender As Object, cevent As ConvertEventArgs)
   ' The method converts only to string type. Test this using the DesiredType.
   If Not cevent.DesiredType Is 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
 
 
Private Sub CurrencyStringToDecimal(sender As Object, cevent As ConvertEventArgs)
   ' The method converts back to decimal type only. 
   If Not cevent.DesiredType Is GetType(Decimal) Then
      Return
   End If 
   ' Converts the string back to decimal using the shared Parse method.
   cevent.Value = Decimal.Parse(cevent.Value.ToString, _
   NumberStyles.Currency, nothing)

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

注釈

ConvertEventArgsBindingオブジェクトを介してデータにバインドされている Windows フォームコントロールによって表示される値の書式設定と unformat に使用されます。The ConvertEventArgs is used to format and unformat values displayed by a Windows Forms control that is bound to data through a Binding object. イベントは、コントロールプロパティが値Parseにバインドされるたびに発生し、バインドされた値が変更されるたびにイベントが発生します。 FormatThe Format event occurs whenever a control property is bound to a value and the Parse event occurs whenever the bound value changes.

イベントFormatParseイベントを使用すると、データを表示するためのカスタム形式を作成できます。The Format and Parse events allow you to create custom formats for displaying data. たとえば、テーブル内Decimalのデータが型である場合は、のValue ConvertEventArgsプロパティをFormatイベントの書式設定された値に設定することによって、データをローカルの通貨書式で表示するように指定できます。For example, if the data in a table is of type Decimal, you can specify that the data should be displayed in the local currency format--by setting the Value property of the ConvertEventArgs to the formatted value in the Format event. その結果、 Parseイベントに表示される値を unformat する必要があります。You must consequently unformat the displayed value in the Parse event.

イベントの処理の詳細については、「処理とイベントの発生」を参照してください。For more information about handling events, see Handling and Raising Events.

コンストラクター

ConvertEventArgs(Object, Type)

ConvertEventArgs クラスの新しいインスタンスを初期化します。Initializes a new instance of the ConvertEventArgs class.

プロパティ

DesiredType

必要な値のデータ型を取得します。Gets the data type of the desired value.

Value

ConvertEventArgs の値を取得または設定します。Gets or sets the value of the ConvertEventArgs.

メソッド

Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)

適用対象

こちらもご覧ください