我正在编写一个应用程序,其中有一个带有面板的表单。我注意到当我向面板添加另一个表单时,添加的表单的键盘快捷键停止工作。
我使用以下代码:
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来说,将Dock设置为Fill似乎很奇怪......
答案 1 :(得分:0)
将表单添加到另一个表单中的面板?这不是一个支持的场景;坦率地说,我很惊讶它不会抛出异常。更好的方法是使用UserControls。
答案 2 :(得分:0)
我发现这是由于焦点问题。
我已经将表单转换为用户控件,问题已经消失。