- PR -

参照して呼び出した画面から呼出し元を制御するには?

1
投稿者投稿内容
とっと
大ベテラン
会議室デビュー日: 2004/03/25
投稿数: 197
投稿日時: 2004-07-28 13:30
 こんにちは。いつも勉強させて頂いてます。初歩的な質問ですいません。

 現在、VB.netでWindowsアプリケーションを開発しています。数画面からの構成で最初は画面毎にexeを作成してメインの画面から呼出していましたが、こちらの以前の投稿を参考にしてメインの画面のみをアプリケーションとし、それ以外はクラスライブラリとしてインスタンス化し、メイン画面から参照するようにしています。

 以前はメイン画面から他の画面を呼出す時は、Shell関数での引数の設定で他の画面が起動している間メインの画面は操作不可となっていて、呼出される側の画面の二重起動が出来ないようになっていました。また呼出される側にも二重起動防止用のコードを記述していました。

 現在はメインの画面より呼出す時にインスタンスを生成して行っていますが、このときに呼出す画面の二重起動を防止し、呼出した側の画面が閉じるまでメインの画面の操作を不可能にするにはどうしたらよいでしょうか?

 以前の投稿を見させてもらいましたが、少し自分の知識が足りない部分の問題でしたので、具体的な解決には至りませんでした。参考になるようなスレッドがあれば教えて頂けないでしょうか?宜しくお願いします。
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2004-07-28 16:41
引用:

とっとさんの書き込み (2004-07-28 13:30) より:
 現在はメインの画面より呼出す時にインスタンスを生成して行っていますが、このときに呼出す画面の二重起動を防止し、呼出した側の画面が閉じるまでメインの画面の操作を不可能にするにはどうしたらよいでしょうか?


単に操作不可にするのであれば、別の画面を表示する際にShowDialogメソッドを使えばよいと思います。
現在はShowメソッドを使っていますか?
とっと
大ベテラン
会議室デビュー日: 2004/03/25
投稿数: 197
投稿日時: 2004-07-28 17:07
なちゃさん、ご返信ありがとうございます。

現在はメインの画面より、

'画面AAA(プロジェクトAAA、クラスclsAAA)を開く
Dim frmAAA As AAA.clsAAA = New AAA.clsAAA
frmAAA.Show()

としています。

もしかして、上記のfrmAAA.Show()をfrmAAA.ShowDialog()に変更するだけでしょうか?
だとしたら、大変お恥ずかしい限りです。
1

スキルアップ/キャリアアップ(JOB@IT)