次の方法で共有


BindingContext コンストラクタ

BindingContext クラスの新しいインスタンスを初期化します。

Public Sub New()
[C#]
public BindingContext();
[C++]
public: BindingContext();
[JScript]
public function BindingContext();

解説

同じデータ ソースに対して複数の BindingManagerBase インスタンスが必要な場合は、新しい BindingContext を作成し、それを Control から継承されるオブジェクトの BindingContext プロパティに設定します。

たとえば、2 つの BindingManagerBase オブジェクトを 2 つの異なる BindingContext オブジェクトから取得している場合、それぞれの BindingManagerBasePosition プロパティに異なる値を設定して、各データ連結コントロールに同じデータ ソースからの異なる値を表示できます。

使用例

以下の例では、2 つの新しい BindingContext オブジェクトを作成し、それぞれのオブジェクトを GroupBox コントロールの BindingContext プロパティに割り当てています。 GroupBox1 には TextBox1 が格納され、 GroupBox2 には TextBox2 が格納されます。この処理には、 Control.ControlCollectionAddRange メソッドが使用されます。さらに、この例では、 Binding オブジェクトを 2 つの TextBox コントロールに追加し、各コントロールを同じデータ ソースおよび同じデータ メンバにバインドしています。また、 GroupBox コントロールで BindingContext を使用して、異なる BindingManagerBase オブジェクトの Position プロパティを設定する 2 つのイベント ハンドラも示しています。

 
Private Sub BindControls()
    Dim bcG1 As New BindingContext()
    Dim bcG2 As New BindingContext()
       
    groupBox1.BindingContext = bcG1
    groupBox2.BindingContext = bcG2
       
    textBox1.DataBindings.Add("Text", ds, "Customers.CustName")
    textBox2.DataBindings.Add("Text", ds, "Customers.CustName")
End Sub    
   
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    groupBox1.BindingContext(ds, "Customers").Position += 1
End Sub    
   
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    groupBox2.BindingContext(ds, "Customers").Position += 1
End Sub


[C#] 
private void BindControls()
{
   BindingContext bcG1 = new BindingContext();
   BindingContext bcG2 = new BindingContext();

   groupBox1.BindingContext = bcG1;
   groupBox2.BindingContext = bcG2;

   textBox1.DataBindings.Add("Text", ds, "Customers.CustName");
   textBox2.DataBindings.Add("Text", ds, "Customers.CustName");
}

private void Button1_Click(object sender, EventArgs e)
{
   groupBox1.BindingContext[ds, "Customers"].Position += 1;         
}

private void Button2_Click(object sender, EventArgs e)
{
   groupBox2.BindingContext[ds, "Customers"].Position += 1;
}

[C++] 
private:
void BindControls()
{
   System::Windows::Forms::BindingContext* bcG1 = new System::Windows::Forms::BindingContext();
   System::Windows::Forms::BindingContext* bcG2 = new System::Windows::Forms::BindingContext();

   groupBox1->BindingContext = bcG1;
   groupBox2->BindingContext = bcG2;

   textBox1->DataBindings->Add(S"Text", ds, S"Customers.CustName");
   textBox2->DataBindings->Add(S"Text", ds, S"Customers.CustName");
}

void Button1_Click(Object* /*sender*/, EventArgs* /*e*/)
{
   groupBox1->BindingContext->get_Item(ds, S"Customers")->Position = 
      groupBox1->BindingContext->get_Item(ds, S"Customers")->Position + 1;
}

void Button2_Click(Object* /*sender*/, EventArgs* /*e*/)
{
   groupBox2->BindingContext->get_Item(ds, S"Customers")->Position =
      groupBox2->BindingContext->get_Item(ds, S"Customers")->Position + 1;
}

[JScript] 
private function BindControls()
{
   var bcG1 : System.Windows.Forms.BindingContext = new System.Windows.Forms.BindingContext;
   var bcG2 : System.Windows.Forms.BindingContext = new System.Windows.Forms.BindingContext;

   button1.BindingContext = bcG1;
   button2.BindingContext = bcG2;

   textBox1.DataBindings.Add(new Binding
      ("Text", ds, "customers.custName"));
   textBox2.DataBindings.Add(new Binding
      ("Text", ds, "customers.custName"));

   // Get the BindingManagerBase for the Customers table. 
   bmCustomers = this.BindingContext [ds, "Customers"];
}

private function Button1_Click(sender, e : EventArgs)
{
   bmCustomers.Position += 1;  
}

private function Button2_Click(sender, e : EventArgs)
{
   bmCustomers.Position -= 1;
}

必要条件

プラットフォーム: 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

参照

BindingContext クラス | BindingContext メンバ | System.Windows.Forms 名前空間 | BindingManagerBase