【发布时间】:2014-05-10 05:51:02
【问题描述】:
我有一个 MDI 父表单。在这种形式中,我为菜单栏属性创建了一些快捷键。我想让这个快捷键有条件地激活,这意味着我想通过代码控制这个键是否激活。请帮帮我。
【问题讨论】:
标签: c# winforms keyboard-shortcuts
我有一个 MDI 父表单。在这种形式中,我为菜单栏属性创建了一些快捷键。我想让这个快捷键有条件地激活,这意味着我想通过代码控制这个键是否激活。请帮帮我。
【问题讨论】:
标签: c# winforms keyboard-shortcuts
你可以在你的父表单上尝试这样的事情:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if(keyData == Keys.Enter && someCondition)
{
// Interact with your mdi childs somehow
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
此示例捕获 Enter 键。另外,请考虑将逻辑拆分为定义明确的方法,否则您最终会得到一些非常难以阅读的方法。
【讨论】: