5

私はVisualC#にかなり慣れていないList<String>ので、できればフォームエディターを使用して、フォームウィジェットによってコンテンツが表示されるを作成しようとしています。Qt / C ++のバックグラウンドから来て、私は通常次のようなことをします:

  • モデルにカスタムデータ構造を作成します。この構造は、をラップアラウンドし、オブザーバーパターンQList<string>のクラスから派生します。Subject
  • サブクラス化する新しいウィジェットObserver(これもオブザーバーパターンの一部です)とQtのリストウィジェットの1つを作成します。この新しく作成されたウィジェットは、データ構造から通知を受信したときにリストを更新できる必要があります。
  • ウィジェットが実行時にデータ構造にサブスクライブしていることを確認してください。

この手順はお尻の痛みであり、より良い方法があると確信していますが、私は今Qtの助けを求めてここにいるわけではありません。List<String>C#で(または同様の構造)のコンテンツを表示する最も簡単な方法は何ですか?WinFormsを使用しています。

4

1 に答える 1

8
// simple one-way, one-time binding 
var myItems = new List<string> { "aaa", "bbb" };
listBox1.DataSource = myItems;
// rebinding
var myItems = new List<string> { "aaa", "bbb" };
listBox1.DataSource = myItems;
....
myItems.Add("ccc");
listBox1.DataSource = myItems;
// one-way, multi-time binding
var myItems = new BindingList<string> { "aaa", "bbb" };
listBox1.DataSource = myItems;
...
myItems.Add("ccc");
于 2012-10-07T18:27:33.240 に答える