Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 菜单的键盘顺序快捷键_C#_.net_Visual Studio_Menu_Keyboard Shortcuts - Fatal编程技术网

C# 菜单的键盘顺序快捷键

C# 菜单的键盘顺序快捷键,c#,.net,visual-studio,menu,keyboard-shortcuts,C#,.net,Visual Studio,Menu,Keyboard Shortcuts,我希望为我正在开发的程序(在C#net中)提供一个序列快捷方式,以访问菜单系统中的各种按钮 例如: Ctrl+W,O 首先,用户将按Ctrl+W,然后按O VisualStudio将此方法用于相当多的菜单快捷方式 但是,当我编辑菜单时,我仅限于一个快捷键Ctrl+W或O,我无法对它们排序 使用现有框架是否可以做到这一点?只需执行以下操作: private void Form1_KeyDown(object sender, KeyEventArgs e) { if (previousKeyEv

我希望为我正在开发的程序(在C#net中)提供一个序列快捷方式,以访问菜单系统中的各种按钮

例如: Ctrl+W,O

首先,用户将按Ctrl+W,然后按O

VisualStudio将此方法用于相当多的菜单快捷方式

但是,当我编辑菜单时,我仅限于一个快捷键Ctrl+W或O,我无法对它们排序


使用现有框架是否可以做到这一点?

只需执行以下操作:

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
  if (previousKeyEvent != null)
  {
    if (previousKeyEvent.Modifiers == Keys.Control && previousKeyEvent.KeyCode == Keys.W && e.KeyCode == Keys.O)
    {
      MessageBox.Show("Ctrl + W then O");
    }
    else
    {
      MessageBox.Show("Not handled");
      previousKeyEvent = null;
    }
  else
    previousKeyEvent = e;
  }
}
需要考虑的事情

  • 单键组合-处理不在 上一个关键事件
  • 用于显示您正在等待的标签 用户输入,就像VisualStudio一样
  • 使用ShortCutKeyDisplayString属性在菜单项旁边显示自定义快捷方式

不幸的是,这需要比我愿意付出更多的努力才能实现。然而,如果不是因为菜单中没有显示键盘快捷键,我会考虑,如果你不愿意付出一定程度的努力来实现你需要做的事情,作为一名开发人员,你可能不会完成你自己设定的许多任务。这不是我的意思。我会试着重新措辞。这个问题的重点之一是在菜单中的项目旁边显示衬衫,这样当用户重复使用它时,他们就可以在那里看到快捷方式。由于您的解决方案不包含此优先级,如果我要实施它,它将只是暂时的。考虑到需要大量(非常大)的组合键,对于临时解决方案来说,这似乎是一项艰巨的工作。但是,如果有办法在运行时修改菜单中显示的快捷方式,此解决方案将非常有用。ahhhh item.ShortcutKeyDisplayString允许您更改其显示内容。从而使你的答案成为一个完全有说服力的解决方案。谢谢:)