2009-05-20 14 views
0

パネルを使用したフォームがあるアプリケーションを作成しています。パネルに別のフォームを追加すると、追加されたフォームのキーボードショートカットが機能しなくなることに気付きました。キーボードショートカットを動作させるために、とにかくパネルにフォームを追加するときにキーボードショートカットが機能しないc#

MainMenu m = new MainMenu(); 
m.TopLevel = false; 
m.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; 
m.Dock = System.Windows.Forms.DockStyle.Fill; 
pnl.Controls.Add(m); 
m.Visible = true; 
pnl.ResumeLayout(); 

あり:

私は、次のコードを使用していますか?

よろしく

答えて

0

フォーカスの問題が原因であることがわかりました。

私はそれ以来、私のフォームをユーザーコントロールに変換しており、問題はなくなりました。

+0

これはどういう意味ですか?あなたは何をしましたか?私は同じ問題を抱えています... – Muers

1

私の最初の推測では(と、それは全くの推測です)というだけで、親を割り当てるよりも、子オブジェクトを作成するときに、親/所有者を渡す必要があるということです...あなたは私たちの一部を示すことができましたあなたのコード?

また、ちょうどあなたのコードの上にかすめる、メインメニューのため、記入するドックを設定するために奇妙なよう....

0

別のフォーム内のパネルにフォームを追加しますか?これはサポートされているシナリオではありません。率直に言って、私はそれが例外をスローしないことに驚いています。これを行うより良い方法は、UserControlsを使用することです。

+0

正常に動作します。私は過去にこれを何度も使ってきました。唯一のことは、キーボードショートカットが正常に動作していないことです。 –

+0

サポートされているシナリオではないことをどう知っていますか? –

+0

私は、どちらか一方の方法を明示する書類が見つからないことを認めます。しかし、私がWindows Formsについて知っていることに基づいて、これはサポートされていません。特定の状況下で動作させることができたとしても、サポートされているわけではなく、すべての機能が正しく動作することを期待する必要があります。 –

関連する問題