データベースからオブジェクト (People) のリストを取得し、グループ ボックスのフォームに各 People オブジェクトの名前を含むラベルのリストを動的に生成します。ラベルをクリックすると、オブジェクト People のすべてのプロパティを含む新しいフォームが作成されます (子フォームにオブジェクト People を送信します)。People オブジェクトの ID (データベースから) またはリストからの ID を保持する場所は? これで、id をラベルに保持します。TabIndex ですが、あまりよくありません。
この状況であなたは何をしますか?
いくつかの応答後に編集:応答してくれてありがとう。
(わかりました、実際に WPF が WinForms を置き換えるようになったので、WPF に移行した方がよいでしょう。)
ラベルに完全なオブジェクトを保持する必要はありませんが、彼の ID のみを保持する必要があります (このオブジェクトには、内部の、他のデータベース オブジェクトの関連付けがある可能性があります) ラベルに完全なオブジェクトを保持する必要があるのはなぜですか? !
これまで、私はIDをtabIndexに保持しています(intであるため)。ボックス化とボックス化解除を使用しないため、この方法の方が優れていることがわかります。
この問題は、質問の一部をより一般的にします。
フォーム間でデータを送信する方法
子フォームがリポジトリにアクセスできるようにしますか? (フォーム間でリポジトリを送信するのは良くないと思います。)しかし、子フォームのデータを変更する必要がある場合(個人フォーム= 1人だけのデータを印刷する)、「変更の保存」セムナルを送信する必要があります(イベントを通じて)私の主要なフォームに.つまり、これは2つのフォーム間の双方向の関連付けのようなものです.これでいいですか?
winforms (フォーム間のデータ) の本、または c# WinFroms の実際のアプリケーションを 1 つ持っていますか?