Program.csでメッセージボックスを最前面に出す方法

C# プロジェクトの最初に動く Program.cs でのチェックで
エラーが発生したときに、メッセージボックスを出力しているが
他のウィンドウに隠れてしまう問題が発生した。

フォームの無いときに、メッセージボックスを最前面に出力する方法

Form frmDummy = new Form(); //ダミーフォームを生成
frmDummy.Opacity = 0; //透明化
dummy.ControlBox = false; //タイトルバーのコントロールを無効にする
//画面中央に表示する
frmDummy.StartPosition = FormStartPosition.CenterScreen;
frmDummy.Show(); //画面を表示する。見えないけどね。
frmDummy.TopMost = true; //最前面にする。見えないけどね。
//見えない最前面の画面で、メッセージボックス表示
MessageBox.Show(frmDummy, "エラーだよ", "error caption", MessageBoxButtons.OK, MessageBoxIcon.Error);
frmDummy.Dispose(); //フォームの破棄
frmDummy = null; //フォームの破棄

MessageBox.Show() メソッドで MessageBoxOptions を指定して最前面に表示する方法もあったが、VisualStyleが適用されなくなるため、却下しました。

こんな感じ。見た目なんて関係ないぜ!という方はどうぞ。

MessageBox.Show("エラーだよ", "error caption", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
16 : 21 : 43 | プログラミング | トラックバック(0) | コメント(0) | page top↑
<<SSH PUTTYでID、パスワードの入力を省略する | ホーム | ミッドナイトイーグル / 高嶋 哲夫 を読んだ>>
コメント

コメントの投稿














管理者にだけ表示を許可する

トラックバック
トラックバックURL
http://playtoto.blog55.fc2.com/tb.php/208-8ae0b9cc
この記事にトラックバックする(FC2ブログユーザー)
| ホーム |

カテゴリー

PR

デル株式会社

ジャパネットたかた メディアミックスショッピング

最近の記事

ブログ全記事表示

全ての記事を表示する

カレンダー

09 | 2012/10 | 11
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -

検索フォーム

RSSフィード