2009-05-20 91 views
0

我在写一个应用程序,其中有一个窗体与面板。我注意到,当我向面板添加另一个表单时,添加的表单的键盘快捷键停止工作。键盘快捷键在将窗体添加到面板时不起作用#

我使用下面的代码:

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

我发现这是由于焦点问题。

我已经将表单转换为用户控件,并且问题消失了。

1

我第一次的猜测(和它的完全是猜测)是你需要传递父/所有者构建子对象的时候,而不仅仅是分配父......你能不能告诉我们的那部分你的代码?

而且,只是扫视你的代码,它似乎奇怪,对于一个MainMenu,设置码头,填写....

0

添加形式为另一种形式的内部面板?这不是一个受支持的场景;坦率地说,我很惊讶它不会抛出异常。更好的方法是使用UserControls。

+0

它工作正常。过去我曾多次使用过。唯一的问题是键盘快捷键看起来不起作用 – 2009-05-21 07:51:09

+0

你怎么知道它不是受支持的场景? – 2009-05-21 08:37:19