WinFormsデザイナーで作業するための基本的なデータバインディングを取得できないようです。Visual Studioでの基本的なWinFormsデータバインディング(デザイナーモード)
- (VS2012を使用して)私は新しい勝利がDatabindTestと呼ばれるフォームアプリケーションプロジェクトを作成します。
- このプロジェクトには、Class1.csというクラスを追加します。
- このクラスでは、
MyProperty
を "abc"に設定するコンストラクタとともに、MyProperty
という名前の(String)プロパティを作成します。 - 私はソリューションをビルドします。
- Form1デザイナを使用して、フォーム(
textBox1
)にテキストボックスを追加します。 - [
textBox1
のプロパティ]で、[データバインディング]を展開して[詳細設定]ダイアログを開きます。 - 私はバインディングドロップダウンを展開して、プロジェクトデータソース...を追加し、オブジェクトデータソースを選択しをクリックします。次に、
DatabindTest
ノードを展開し、Class1
をデータオブジェクトとして選択します。 - Bindingフィールドに「class1BindingSource - MyProperty」と表示されることが確認されています(期待通りです)。
Form1
クラスの先頭のForm1.csのに、私はClass1の新しいインスタンスを作成します(下記のコードを参照)。- この時点で、私はプログラムをビルドして起動します。私は、テキストボックスに "abc"が表示されると予想しますが、それは空です。
どうしたのですか?
public partial class Form1 : Form
{
Class1 c1 = new Class1();
public Form1()
{
InitializeComponent();
//this.textBox1.Text = c1.MyProperty; //if I uncomment this line,
//"abc" appears in textBox1
//so why not through databinding?
}
}
次のコード行を書くのを忘れた: 'class1BindingSource。DataSource = c1'; 'Load'の形式です。 –