如何在C#Windows窗体中使用数字键盘快捷键?
因此,我想使用Ctrl加上数字键盘上的数字作为菜单项(或按钮)的快捷方式。但我似乎无法使用如何在C#Windows窗体中使用数字键盘快捷键?,c#,C#,因此,我想使用Ctrl加上数字键盘上的数字作为菜单项(或按钮)的快捷方式。但我似乎无法使用System.Windows.Forms.Shortcut 例如: this.menuItem3.Shortcut=System.Windows.Forms.Shortcut.Alt7; 将适用于非数字键盘7,但不适用于数字键盘7。我想指定它在num pad上工作(我不在乎它是否同时适用于两者)。在可视化设计器中,菜单项的属性中有一个选项允许这样做 属性是ShortcutKeys-数字键盘键是此属性下拉
System.Windows.Forms.Shortcut
例如:
this.menuItem3.Shortcut=System.Windows.Forms.Shortcut.Alt7;
将适用于非数字键盘7,但不适用于数字键盘7。我想指定它在num pad上工作(我不在乎它是否同时适用于两者)。在可视化设计器中,菜单项的属性中有一个选项允许这样做 属性是ShortcutKeys-数字键盘键是此属性下拉列表中的选项 在代码隐藏中,设计器生成:
this.myToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.NumPad0)));
因此,如果需要,您可以轻松地从代码中设置它
需要注意的一点是,这只在Num Lock打开时起作用-我非常确定不可能为同一菜单项分配两个快捷键,因此如果您希望在Num Lock关闭和打开时都能起作用,那么您需要处理按键事件
你怎么能做到。下面是文章中的代码,并指定了Insert(因为这是与上面的NumPad0匹配的非Num Lock键)
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.Control | Keys.Insert))
{
// Call your menu item handler here
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
在可视化设计器中,菜单项的属性中有一个选项允许此操作 属性是ShortcutKeys-数字键盘键是此属性下拉列表中的选项 在代码隐藏中,设计器生成:
this.myToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.NumPad0)));
因此,如果需要,您可以轻松地从代码中设置它
需要注意的一点是,这只在Num Lock打开时起作用-我非常确定不可能为同一菜单项分配两个快捷键,因此如果您希望在Num Lock关闭和打开时都能起作用,那么您需要处理按键事件
下面是文章中的代码,指定了Insert(因为这是与上面的NumPad0匹配的非Num Lock键)
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.Control | Keys.Insert))
{
// Call your menu item handler here
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
谢谢你的回复大卫-我很感激。这是我期望我能做的事情,但是,我似乎做不到。我拥有的属性是你链接的帖子中展示的方法。这很好-尽管不是我想要的:D谢谢!!!谢谢你的回复大卫-我很感激。这就是这是我期望我能做的事情,但是,我似乎做不到。我的属性是你链接的帖子中展示的方法。这很好-尽管不是我想要的:D谢谢!!!