我正在开发一个顶部有一个菜单的应用程序。我想对快捷键使用不同的方法(就是这个片段):这是用于快捷键: CTRL + N , 1
bool prefixSeen = false;
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (prefixSeen)
{
switch (keyData)
{
case (Keys.Control | Keys.D1):
MessageBox.Show("New file");
prefixSeen = false;
break;
}
}
switch (keyData)
{
case (Keys.Control | Keys.n):
prefixSeen = true;
break;
}
return base.ProcessCmdKey(ref msg, keyData);
}
代码取自here。
这是我的菜单:
我希望在菜单项中显示(在右边对齐)快捷键(我应该将其解释为字符串)。我怎样才能达到这个效果?
提前致谢,祝大家新年快乐。
编辑: Visual Studio的内置方法是:
答案 0 :(得分:8)
使用MenuItem.ShortCut
和MenuItem.ShowShortCut
属性。
如果您想创建自己的自定义快捷方式,这些属性将不适合您,因为它们依赖于预定的ShortCut键枚举。在这种情况下,我建议您将其添加到菜单的文本中,没有自动的方法。
由于有人指出您使用的是ToolStripMenuItems
,因此您应该可以独立地将ShortCutKeyDisplayString
设置为您想要的内容。您仍然需要自己处理实际的快捷方式。