じゃんぬねっと日誌

ネタと雑記と時々プログラミング

目次

Blog 利用状況

ニュース

不況すぎる件。

スポンサードリンク

運営サイト

  • C# と VB.NET の入門サイト

書庫

MDI 子フォーム上のボタンの挙動について

@IT 会議室で挙がっていた質問なんですが、解決方法は提示できたものの、何故こうなるのか判りません。

もちろん、AcceptButton が設定されているわけではありません。
ですが、そのような動きをしてしまいます。

MDI フォーム以外では再現しないですし...
何故なのでしょうね。

投稿日時 : 2005年4月2日 10:45

コメントを追加

# re: @IT : MDI 子フォーム上のボタンの挙動について 2005/04/02 16:57 tatsugoro

私もこの現象を確認しています。
気になる。

# re: @IT : MDI 子フォーム上のボタンの挙動について 2005/04/02 17:03 じゃんぬねっと

リンク先でも仰ってましたね。
MDI 小フォームの Button にフォーカスがあると勘違いしているんでしょうかね?
別のコントロールで、これから試してみます。

# re: @IT : MDI 子フォーム上のボタンの挙動について 2005/04/02 17:09 じゃんぬねっと

うーん、やはり Button の時だけのようですね。
MDI 小フォームというより、MDI 親フォームが悪さしてる!?

# re: @IT : MDI 子フォーム上のボタンの挙動について 2005/04/03 12:48 菊池

原因の予想としては、MDIの子ウインドウを開いた時にフォーカスをちゃんと設定してないからではないかな。

Showで出すだけでなくて、Activateとかしてやる必要があるかも。

>MDI 親フォームが悪さしてる!?

 MDI親フォームと子フォームとの間でなんか意識のずれが出てるのは確かですね。
 

# re: @IT : MDI 子フォーム上のボタンの挙動について 2005/04/03 20:47 えムナウ

フォームはMDI親フォームで有ろうと無かろうと子供で処理されなかったキーを自分の管理しているコントロールに送るようです。
以下のように送らなくすればいいと思います。
注)MDI子フォームはこの処理をしないと逆にForm内のAcceptButton がきかなくなります。(たぶん)

protected override bool ProcessDialogKey(Keys keyData)
{
 return true ;
}

# re: @IT : MDI 子フォーム上のボタンの挙動について 2005/04/04 12:09 じゃんぬねっと

えムナウさんありがとう!!
@IT にもフィードバックしてくださったんですね。

# re: @IT : MDI 子フォーム上のボタンの挙動について 2005/04/04 13:53 tatsugoro

なるほど。
納得です。

タイトル  
名前  
URL
コメント