ControlEventHandler デリゲート
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)


ControlEventArgs デリゲートを作成する場合は、イベントを処理するメソッドを識別してください。イベントをイベント ハンドラに関連付けるには、デリゲートのインスタンスをイベントに追加します。デリゲートを削除しない限り、そのイベントが発生すると常にイベント ハンドラが呼び出されます。イベント ハンドラ デリゲートの詳細については、「イベントとデリゲート」を参照してください。

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

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からControlEventHandler デリゲートを検索する場合は、下記のリンクをクリックしてください。

- ControlEventHandler デリゲートのページへのリンク