- PR -

フォームの2重起動を避ける方法

1
投稿者投稿内容
YRENA
会議室デビュー日: 2004/01/20
投稿数: 12
投稿日時: 2004-01-20 19:04
はじめまして。YRENAです。

C#でWindowsアプリを作成しています。

メニューバーからメンテナンスPGを呼び出す
プログラムを作っています。

各メンテナンスPGはプロジェクトとして
独立しておらず(それぞれがEXE形式ではなく)、
フォームを呼び出すようになっています。
(メニューと各メンテナンスPGを合わせて、
ひとつのプロジェクトなのです。)

問題なのはメニューバーから複数回同じメンテナンスPG
が起動してしまうことです。

メニューバーから複数回同じメンテナンスPGを起動する
ことなく、かつ、異なるメンテナンスPGは起動できるよ
うにする方法を教えていただきたいのです。

メンテナンスPGをEXE形式で作り直した方が良いので
しょうか?できることなら分割したくないのですが…。
良い方法をご存知の方、どうかご教授くださいませ。
宜しくお願い致します。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-01-20 19:11
 メニューバーはFormですね?

1.そのFormのクラスフィールドとして、各PGのオブジェクトを保持する変数を用意します。
2.メニューバーのコンストラクタで、各変数をnullで初期化します。
3.起動要求があれば、変数がnullか調べます。
4.nullなら、オブジェクトを作成し、表示します。
5.nullでないなら、その変数を使ってPGを最前面に移動します。
6.PGが終了するイベントで、変数をnullに戻します。


 umlやっていれば、singletonパターンを適用。
YRENA
会議室デビュー日: 2004/01/20
投稿数: 12
投稿日時: 2004-01-20 20:20
早い回答ありがとうございます。

試してみましたら二重起動を防ぐことが
できました。

超初心者の質問であったことを
お許しくださいませ。

本当にありがとうございました。
1

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