C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[2]: フォームの多重起動禁止
(過去ログ 118 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 4 記事 (1 - 4 表示)] <<
0
>>
■69124
/ inTopicNo.1)
フォームの多重起動禁止
▼
■
□投稿者/ Яアルビノフォックス
(9回)-(2013/12/05(Thu) 13:51:55)
分類:[C#]
開発エディタ Visual Studio 2010、言語c#での質問です。
windowFormでのコードを書いているのですが、フォームを幾つかに分けて作成しています。
フォームを開くとき、Form2.show()のように開いているので元となるフォームも操作可能状態で残っています。
そこでForm2が開いているとき、Form1からForm2起動コマンドが出された場合、前にあったForm2を終了、その後再びForm2を起動したい、と考えています。
Form2.Visibleだと起動しててもノンアクティブ状態ならFalseになるし、WindowsStatesだと起動していないに対応できません。
判定方法と実際の操作コードを教えてください。
よろしくお願いします。
引用返信
編集キー/
編集
■69128
/ inTopicNo.2)
Re[1]: フォームの多重起動禁止
▲
▼
■
□投稿者/ shu
(443回)-(2013/12/05(Thu) 15:11:46)
■
No69124
(Яアルビノフォックス さん) に返信
OpenFormsを使ってこんな感じにするか、自前でインスタンスを管理する。
var opfrm = Application.OpenForms.OfType<Form2>().FirstOrDefault();
if (opfrm != null) opfrm.Dispose();
Form2 form2 = new Form2();
form2.Show();
引用返信
編集キー/
編集
■69138
/ inTopicNo.3)
Re[1]: フォームの多重起動禁止
▲
▼
■
□投稿者/ Jitta
(119回)-(2013/12/05(Thu) 22:26:18)
■
No69124
(Яアルビノフォックス さん) に返信
> 開発エディタ Visual Studio 2010、言語c#での質問です。
> windowFormでのコードを書いているのですが、フォームを幾つかに分けて作成しています。
> フォームを開くとき、Form2.show()のように開いているので元となるフォームも操作可能状態で残っています。
>
> そこでForm2が開いているとき、Form1からForm2起動コマンドが出された場合、前にあったForm2を終了、その後再びForm2を起動したい、と考えています。
>
> Form2.Visibleだと起動しててもノンアクティブ状態ならFalseになるし、WindowsStatesだと起動していないに対応できません。
>
> 判定方法と実際の操作コードを教えてください。
> よろしくお願いします。
ShowDialog
http://blogs.wankuma.com/jitta/articles/54305.aspx
ここに何か作ったような気がする
引用返信
編集キー/
編集
■69179
/ inTopicNo.4)
Re[2]: フォームの多重起動禁止
▲
▼
■
□投稿者/ Яアルビノフォックス
(10回)-(2013/12/09(Mon) 08:40:12)
返信遅くなりまして誠に申し訳ありませんでした。
ShowDialogは既に一度使用していましたが、Form2起動後にForm1がいじれないと不便、とのことでShowに変えた次第でありまして。
今回は shu さんのご意見を参考にしたいと思い、これにて解決とさせていただきます。
ありがとうございました。
解決済み
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-