次の方法で共有


BindingsCollection クラス

コントロールの Binding オブジェクトのコレクションを表します。

この型のすべてのメンバの一覧については、BindingsCollection メンバ を参照してください。

System.Object
   System.MarshalByRefObject
      System.Windows.Forms.BaseCollection
         System.Windows.Forms.BindingsCollection
            System.Windows.Forms.ControlBindingsCollection

Public Class BindingsCollection
   Inherits BaseCollection
[C#]
public class BindingsCollection : BaseCollection
[C++]
public __gc class BindingsCollection : public BaseCollection
[JScript]
public class BindingsCollection extends BaseCollection

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

単純なデータ連結は、 Binding オブジェクトを BindingsCollection に追加することによって実行されます。 Control クラスから継承される任意のオブジェクトは、 DataBindings プロパティを使用して BindingsCollection にアクセスできます。データ連結をサポートする Windows コントロールの一覧については、 Binding クラスのトピックを参照してください。

使用例

[Visual Basic, C#, C++] TextBox コントロールの Text プロパティをデータベース内のフィールドにバインドする例を次に示します。

 
Private Sub BindTextBoxControl()
   Dim myDataSet As New DataSet()
   ' Insert code to populate the DataSet with tables, columns, and data.

   ' Creates a new Binding object. 
   Dim myBinding As New Binding("Text", myDataSet, _
   "customers.custToOrders.OrderAmount")
   
   ' Adds event delegates for the Parse and Format events.
   AddHandler myBinding.Parse, AddressOf CurrencyToDecimal
   AddHandler myBinding.Format, AddressOf DecimalToCurrency
     
   ' Adds the new Binding to the BindingsCollection.
   text1.DataBindings.Add(myBinding)
End Sub 
    
Private Sub DecimalToCurrency(sender As Object, _
   cevent As ConvertEventArgs)
   ' This method is the Format event handler. Whenever the
   ' control displays a new value, the value is converted from
   ' its native Decimal type to a string. The ToString method
   ' then formats the value as a Currency, by using the
   ' formatting character "c". 
   cevent.Value = CDec(cevent.Value).ToString("c")
End Sub 
    
Private Sub CurrencyToDecimal(sender As Object, _
cevent As ConvertEventArgs)
   ' This method is the Parse event handler. The Parse event
   ' occurs whenever the displayed value changes. The static
   ' Parse method of the Decimal structure converts the 
   ' string back to its native Decimal type. 
   cevent.Value = Decimal.Parse(cevent.Value.ToString(), _
   NumberStyles.Currency, nothing)
   End Sub 

[C#] 
private void BindTextBoxControl()
{
   DataSet myDataSet = new DataSet();
   /* Insert code to populate the DataSet with tables, 
   columns, and data. */

   // Creates a new Binding object. 
   Binding myBinding = new Binding
   ("Text", myDataSet, "customers.custToOrders.OrderAmount");

   // Adds event delegates for the Parse and Format events.
   myBinding.Parse += new ConvertEventHandler(CurrencyToDecimal);
   myBinding.Format += new ConvertEventHandler(DecimalToCurrency);

   // Adds the new Binding to the BindingsCollection.
   text1.DataBindings.Add(myBinding);
}

private void DecimalToCurrency(object sender, 
   ConvertEventArgs cevent)
{
   /* This method is the Format event handler. Whenever the 
   control displays a new value, the value is converted from 
   its native Decimal type to a string. The ToString method 
   then formats the value as a Currency, by using the 
   formatting character "c". */
   cevent.Value = ((decimal) cevent.Value).ToString("c");
}

private void CurrencyToDecimal(object sender, 
   ConvertEventArgs cevent)
{   
   /* This method is the Parse event handler. The Parse event 
   occurs whenever the displayed value changes. The static 
   Parse method of the Decimal structure converts the 
   string back to its native Decimal type. */
   cevent.Value = Decimal.Parse(cevent.Value.ToString(),
   NumberStyles.Currency, null);
}


[C++] 
private:
    void BindTextBoxControl()
    {
        DataSet * myDataSet = new DataSet();
        /* Insert code to populate the DataSet with tables, 
        columns, and data. */

        // Creates a new Binding object. 
        Binding * myBinding = new Binding
            (S"Text", myDataSet, S"customers.custToOrders.OrderAmount");

        // Adds event delegates for the Parse and Format events.
        myBinding->Parse += new ConvertEventHandler(this, &Form1::CurrencyToDecimal);
        myBinding->Format += new ConvertEventHandler(this, &Form1::DecimalToCurrency);

        // Adds the new Binding to the BindingsCollection.
        text1->DataBindings->Add(myBinding);
    }

    void DecimalToCurrency(Object * /*sender*/, 
        ConvertEventArgs * cevent)
    {
        /* This method is the Format event handler. Whenever the 
        control displays a new value, the value is converted from 
        its native Decimal type to a string. The ToString method 
        then formats the value as a Currency, by using the 
        formatting character "c". */
        cevent->Value = __try_cast<Decimal *>( cevent->Value)->ToString("c");
    }

    void CurrencyToDecimal(Object * /*sender*/, 
        ConvertEventArgs * cevent)
    {   
        /* This method is the Parse event handler. The Parse event 
        occurs whenever the displayed value changes. The static 
        Parse method of the Decimal structure converts the 
        string back to its native Decimal type. */
        cevent->Value = __box(Decimal::Parse(cevent->Value->ToString(),
            NumberStyles::Currency, 0));
    }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Windows.Forms

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

アセンブリ: System.Windows.Forms (System.Windows.Forms.dll 内)

参照

BindingsCollection メンバ | System.Windows.Forms 名前空間 | CurrencyManager