2011-01-13 8 views
1

現在、私の古いコードのいくつかをリファクタリングしていますが、それはかなりひどいです。私は、ツリービューを作成し、ノードなどにポピュレートするクラスを持ち、Winformに表示されます。 ツリービューの各ノードはいくつかのデータを表し、ユーザーがそれをクリックすると、Winformにもdatagridviewが表示されます。 datagridviewは、新しいクラス内でも生成されます。C#イベントと制御の相互作用

私の考えは、Winformロード時に、ツリービューを作成して表示し、イベントを使用してノードのクリックを監視します。 Winformがそのようなイベントを処理すると、DataGridオブジェクトが作成され、そのイベントが表示されます。

これは、これを設計する最良の方法ですか?

ありがとうございました。

答えて

1

はい、あなたの説明は、WinFormsで標準的なやり方で行う方法です。

DataGridViewを作成する必要はありません。フォームとイベントハンドラに配置するだけで、どこからでもデータをロードし、DataGridView.DataSourceに割り当てることでDataGridViewの内容を変更できます。

フォームデザイナーで、DataGridViewの列を定義し、DataPropertyNameをコレクション内のデータオブジェクトの対応するプロパティの名前に設定します。

メモ:DataGridView.DataSourceに割り当てられたデータは、オブジェクトのコレクションでも、ADO.NETを使用してデータベースからオブジェクトを読み取る場合はDataTableでもかまいません。

+0

返信いただきありがとうございます。 –

1

TreeView.AfterSelectイベントを使用してください。ユーザーがキーボードまたはマウスのいずれかで別のノードを選択すると、いつでも起動します。古いDGVを完全に交換する場合は、必ず廃棄してください。

+0

ありがとうHans .... –

関連する問題