タイトル : Re: FORM間の値渡し 投稿日 : 2007/10/09(Tue) 19:59 投稿者 : Hongliang
ShowDialog メソッドはダイアログが閉じるまで制御が返りませんので、 ShowDialog メソッドの返値を見れば ダイアログでコミットしたのかキャンセルしたのかを判断できます。 ので、判断ついでに設定すればいいでしょう。 正しい返値を返すために、Form2 の方では各ボタンのクリックイベントで、 自身の DialogResult プロパティに適切な値を設定します(OK/Cancel が一般的ですかね)。 ShowDialog で開かれた場合、この DialogResult への何らかの値の代入でもって ダイアログは閉じられますので Close の呼び出しは不要です。 Form2 は使いまわすんではなく、クリックイベントごとに New して使い終わったら Dispose を。 >また、多くの方がコード検索のプログラムを作成しているかと思いますが > 親フォームでコードを受け取るのはf2_Closingで行うのが一般的なのでしょうか? 普通しません。 モーダルダイアログ(一般的なダイアログ)なら上記のように返値を見て判断します。 モードレスダイアログ(IE の検索窓みたいに、開いている間も元のフォームを操作できる奴)なら イベントで通知したりします。 |