- - PR -
[C#]MessageBoxが最前面に表示されない
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-05-05 17:15
標題の通り、ボタンクリックに対するイベント内でMessageBoxを表示させると、
なぜか背面に表示されてしまいます。 しかし、一度他のウィンドウ(アプリ)に切り替えて戻すときちんと表示されます。 親フォームは選択できないため、きちんとモーダルウィンドウにはなっていると考えられます。 以下、ソースを抜粋します。 何が原因でしょう・・・
| ||||
|
投稿日時: 2006-05-05 17:37
こんにちは。
親ウインドウからフォーカスがきちんと取得できていないためだと思います。 IWin32Windowを受け取る以下の形式では如何でしょうか? DialogResult Show ( IWin32Window owner, string text, string caption ) | ||||
|
投稿日時: 2006-05-05 17:46
試したところ、UK さんの仰る通りにはならずに、UK さんの要望通りに動いてしまいました。
他に何か設定をされているのかもしれませんね。Z オーダー等はどうなっているのでしょうか。 他に気になって点は、「App1」というのは Form の事でしょうか。それとも App1 という何かのインスタンスが Form のイベントを処理しているということでしょうか。(だからといってこの問題に関係あるかどうかはわかりませんが) 後は、そのメッセージボックスの出し方では、Cancel を取得できませんね。(ただの例だと思いますが) _________________ 囚人のジレンマな日々 | ||||
|
投稿日時: 2006-05-05 17:58
ちゅうか、
きっとこれですね。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=22690&forum=7 | ||||
|
投稿日時: 2006-05-06 00:08
すみません、解決いたしました。
Paintメッセージの処理の中であろう事かInvalidateを呼び出していることにより ダイアログのメッセージが処理されなかった?ようです。 単純なミスでご迷惑をおかけしました。 |
1