DOBON.NET DOBON.NETプログラミング掲示板過去ログ

フォームの中フォームのKeyDownイベント

環境/言語:[OS : Windows XP / 言語 : Visual Basic .NET / .NET Framework : 3.5]
分類:[.NET]

【解決したい問題】

http://dobon.net/vb/dotnet/form/formwithinform.html

を参考に表示はできましたが、フォームの中のフォームのKeyDownイベントに入りません。

どうしたらフォームの中のフォームのKeyDownイベントに入るでしょうか?

【解決するために何をしたか】
----------------------------------------------
'表示させるフォームのインスタンスを作成
Dim f As New Form2()
'TopLevelをFalseにする
f.TopLevel = False
'フォームのコントロールに追加する
Me.Controls.Add(f)
'フォームを表示する
f.Show()
'最前面へ移動
f.BringToFront()
----------------------------------------------

このあとに、
[1] f.Activate() ← 駄目でした。

[2] f.TopMost() ← 駄目でした。
お世話になっております

C#4.0で確認しましたので多少違っている可能性があります。

フォーム中フォーム(インスタンス f)に何かしらコントロールを置いてませんか?
その場合Form.KeyPreviewプロパティをtrueにしておかないと
フォーカスの当たっているコントロールにKeyPress、KeyDown、KeyUp等の
イベントが渡されてそこで終わります。

http://dobon.net/vb/dotnet/form/keypreview.html
こちらを参考にどうぞ。

DOBON.NET | プログラミング道 | プログラミング掲示板