我正在开发一个顶部有菜单的应用程序。我想对快捷键使用不同的方法(就是这个片段):这是快捷键: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 的内置方法是:
最佳答案
使用 MenuItem.ShortCut
和 MenuItem.ShowShortCut
属性。
如果您想创建自己的自定义快捷键,这些属性将不适合您,因为它们依赖于预先确定的快捷键枚举。在那种情况下,我建议您将它添加到菜单的文本中,没有自动执行的方法。
由于有人指出您正在使用 ToolStripMenuItems
,因此您应该能够独立设置 ShortCutKeyDisplayString
随心所欲。您仍然需要自己处理实际的快捷方式。
关于c# - 自定义菜单快捷键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14104657/