タイトル : Re^3: 前画面の処理(便乗質問) 投稿日 : 2004/08/13(Fri) 23:05 投稿者 : 魔界の仮面弁士
> Form1 からForm2 上のテキストボックスへの読み書きはプロパティを定義して > 比較的簡単に取得する事ができたのですが、その逆のForm2 からForm1 上の > テキストボックスへの読み書きは、同様にはできないようなのですが これは、Form1からForm2を表示するような場面でしょうか。 「Form1が、Form2から値を受け取る」ような設計にしたいのか、それとも、 「Form2が、Form1に値を設定する」ような設計にしたいのかにもよりますし、 どのような状況で利用するのか(Form1 と Form2 の親子関係や、 モーダル/モードレスの違いなど)にもよるかと思いますが、たとえば それぞれのフォームに親子関係がある場合には、 Owner プロパティ OwnedForms プロパティ AddOwnedForm メソッド RemoveOwnedForm メソッド などを使うという手があります。あるいは、これらのプロパティは使わず、 Form2 のコンストラクタ (あるいはメソッドやプロパティ)にて Form1 を 渡すようにしておき、Form2 はそれを利用する事もできるかと。 それ以外の手法としては、Singleton なクラスか Module 等を使い、そこに フォームやコントロールなどを渡しておく事もできるでしょうし、あるいは 別フォームから値を受け取るために、独自のイベントを実装する事もできるかと。 # 複数フォームの取り扱いは、GDNJ などでも時々質問にあがっていますね。 # hhttp://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=13533 > ドボンさん 「ドボン」さんではなく、「どぼん!」さん、では? |