ネタと雑記と時々プログラミング
不況すぎる件。
@IT 会議室で挙がっていた質問なんですが、解決方法は提示できたものの、何故こうなるのか判りません。
もちろん、AcceptButton が設定されているわけではありません。 ですが、そのような動きをしてしまいます。
MDI フォーム以外では再現しないですし... 何故なのでしょうね。
投稿日時 : 2005年4月2日 10:45
私もこの現象を確認しています。 気になる。
リンク先でも仰ってましたね。 MDI 小フォームの Button にフォーカスがあると勘違いしているんでしょうかね? 別のコントロールで、これから試してみます。
うーん、やはり Button の時だけのようですね。 MDI 小フォームというより、MDI 親フォームが悪さしてる!?
原因の予想としては、MDIの子ウインドウを開いた時にフォーカスをちゃんと設定してないからではないかな。 Showで出すだけでなくて、Activateとかしてやる必要があるかも。 >MDI 親フォームが悪さしてる!? MDI親フォームと子フォームとの間でなんか意識のずれが出てるのは確かですね。
フォームはMDI親フォームで有ろうと無かろうと子供で処理されなかったキーを自分の管理しているコントロールに送るようです。 以下のように送らなくすればいいと思います。 注)MDI子フォームはこの処理をしないと逆にForm内のAcceptButton がきかなくなります。(たぶん) protected override bool ProcessDialogKey(Keys keyData) { return true ; }
えムナウさんありがとう!! @IT にもフィードバックしてくださったんですね。
なるほど。 納得です。
Powered by: Copyright © じゃんぬ