ConvertEventArgs クラス
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)


ConvertEventArgs は、Binding オブジェクトを通じてデータに連結された Windows フォーム コントロールによって表示される値の書式を、設定したり元に戻したりするために使用されます。Format イベントはコントロール プロパティが値にバインドされるたびに発生し、Parse イベントはバインドされた値が変更されるたびに発生します。
Format イベントと Parse イベントによって、データ表示用のカスタム書式を作成できます。たとえば、テーブルのデータ型が Decimal の場合は、データをローカルな通貨書式で表示するように指定できます。これには、Format イベントで、ConvertEventArgs の Value プロパティを書式設定した値に設定します。その後、Parse イベントで、表示した値の書式を解除する必要があります。

Binding を作成し、ConvertEventHandler デリゲートを Parse イベントと Format イベントの両方に追加するコード例を次に示します。さらにこの例では、DataBindings プロパティを使用して、Binding を TextBox コントロールの BindingsCollection に追加します。DecimalToCurrencyString イベント デリゲートは Format イベントに追加され、ToString メソッドを使用して、バインドされた値 (Decimal 型) を通貨として書式設定します。CurrencyStringToDecimal イベント デリゲートは Parse イベントに追加され、コントロールによって表示される値を Decimal 型に変換します。
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 'DecimalToCurrencyString 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 'CurrencyStringToDecimal 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 'BindControl
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: 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.get_DesiredType().Equals(String.class.ToType()))) { return ; } // Use the ToString method to format the value as currency ("c"). cevent.set_Value(((System.Decimal)cevent.get_Value()).ToString("c")); } //DecimalToCurrencyString private void CurrencyStringToDecimal(Object sender, ConvertEventArgs cevent) { // The method converts back to decimal type only. if (!(cevent.get_DesiredType().Equals(System.Decimal.class.ToType()))) { return ; } // Converts the string back to decimal using the static Parse method. cevent.set_Value(Decimal.Parse(cevent.get_Value().ToString(), NumberStyles.Currency, null)); } //CurrencyStringToDecimal 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.add_Format(new ConvertEventHandler(DecimalToCurrencyString)); b.add_Parse(new ConvertEventHandler(CurrencyStringToDecimal)); text1.get_DataBindings().Add(b); } //BindControl

System.EventArgs
System.Windows.Forms.ConvertEventArgs
System.Windows.Forms.DataGridViewCellFormattingEventArgs
System.Windows.Forms.DataGridViewCellParsingEventArgs
System.Windows.Forms.ListControlConvertEventArgs


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ConvertEventArgs コンストラクタ
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Dim value As Object Dim desiredType As Type Dim instance As New ConvertEventArgs(value, desiredType)
- desiredType
値の Type。

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ConvertEventArgs プロパティ
ConvertEventArgs メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

ConvertEventArgs メンバ
Format イベントと Parse イベントのデータを提供します。
ConvertEventArgs データ型で公開されるメンバを以下の表に示します。



名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

- ConvertEventArgsのページへのリンク