2011-02-06 3 views
-1

テキストモジュールのテキストフィールドを、クラスモジュールで作成した構造体のインスタンス内の要素にバインドしたいとします。 OBJECT型を使用してデータソースを作成しようとすると、ツリーに表示されるのは、作成したインスタンスではなく、構造体の名前だけです。とにかく構造を選択した場合、データソースツリーには構造の名前と興味のある要素が表示されます。特定のインスタンスにどのようにバインドしますか? VB.netを使用していますテキストボックスを構造要素にバインドするにはどうすればよいですか?

答えて

1

インスタンスをプログラムでデータソースに割り当てる必要があります。設計時には使用できません。フォームロードや他のイベントでも実行できます。

something like.. 
    BindingSource.Datasource = new instance //assign to your instance to binding source 
    then.. 
    TextBox1.DataBindings.Add(New System.Windows.Forms.Binding("Text", BindingSource, "Name", True))// here name propery is binding to textbox 
+0

説明と解決策の両方をありがとう。今明らかになっているようだ。 – John

+0

まあ...まあまあです。バインドしようとしている構造が既に存在し、データがいっぱいであるため、データソースをNEWインスタンスに設定できません。さらに重要なのは、自分の構造体のデータを変更すると、自分のフォームがロードされるときに、自分の構造体の値がテキストボックスに表示されますが、textbox.textは変更されません。 – John

+0

PropertyChangedイベントを発生させる構造体のSet部分にコードを配置する必要があるようです。 – John

関連する問題