MAIN画面から、SUB画面を制御したい

解決


はや  2010-12-10 15:29:29  No: 147259  IP: [192.*.*.*]

MAINフォームから、SUBフォームを制御したい

環境:VB2005  XP-SP3 V-Studio2005 

行いたいこと
MAINフォームには、LISTVIEWにて明細を表示。  明細を選択(クリック)すると、SUBフォームに明細の詳細情報を表示。
MAIN,SUB両方のフォームが、画面上に表示されたまま、MAINのLISTVIEWで行を変えれば、SUBの内容を合わせて変えたい。

現在は以下のコードで2画面表示しているが、SUBが表示されている間はMAINを操作することが出来ません。  

コードサンプル
Dim fm As Form2 = New Form2
If (fm.ShowDialog() = Windows.Forms.DialogResult.OK) Then
End If

どのようにコーディングすれば、MAIN,SUBとも制御できますでしょうか。

よろしくお願いいたします。

編集 削除
huh  2010-12-10 16:03:17  No: 147260  IP: [192.*.*.*]

モーダルフォームとして呼び出しているので、
当然親フォームは操作できません。

ShowDialogとShowの違いについて学んでみてください。

編集 削除
んがとと  2010-12-10 16:14:49  No: 147261  IP: [192.*.*.*]

huh さんに補足。
Show を使って表示だけしておき、戻り値を利用している部分は
自分でプロパティを用意して、Form2でOKボタンを押した時や
×ボタンで画面を閉じたタイミングで、取得する形に変えて
ください。

編集 削除
はあ  2010-12-10 17:28:52  No: 147262  IP: [192.*.*.*]

huhさん、んがととさん  ヒントありがとうございました。

モーダルフォーム、show  などをキーワードに検索し結果、my.forms を、利用すことで思う動作を制御できるようになりました。

ただ、同じプロジェクト内のFORMしか制御できないので、もう少し検索し別のEXEやDLLの物も制御できるようがんばってみます。

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

編集 削除
はや  2010-12-10 17:29:37  No: 147263  IP: [192.*.*.*]

すみません、解決のチェックを入れ忘れました。

編集 削除