编程语言
首页 > 编程语言> > c#-从上下文菜单处理快捷方式

c#-从上下文菜单处理快捷方式

作者:互联网

我有一个Windows窗体显示为模型对话框.它具有类ContextMenuStrip的上下文菜单.我在快捷菜单中为几个项目设置了快捷方式.但是,此快捷方式仅在显示上下文菜单时有效.即使上下文菜单未激活,如何使它们工作?

我知道的唯一方法是处理窗体的KeyPress事件,递归遍历上下文菜单中的所有项目,并将其ShortcutKeys属性与实际按下的键进行比较.如果匹配,请为此项目手动调用OnClick事件.还有更好的主意吗?

解决方法:

使用ToolStripMenuItem.ShortCutKeys属性,以便您无需迭代和调用事件处理程序.

样例代码:

ContextMenuStrip _contextMenuStrip = new ContextMenuStrip();
var menuItem = new ToolStripMenuItem("Copy");
menuItem.ShortcutKeys = Keys.Control | Keys.C;
_contextMenuStrip.Items.Add(menuItem);

标签:keyboard-shortcuts,events,contextmenu,c,winforms
来源: https://codeday.me/bug/20191031/1979723.html