1

我在我的程序中使用了 ContextMenuStrip,显然,除非我按 Alt,否则它不会显示它的快捷键(助记符,那些应该在 & 前面的字母下显示为下划线的快捷键),但是当我按 Alt 时,显示的 ContextMenuStrip 将隐藏因为表单的主菜单将获得焦点。因此,在上下文菜单中,永远不会看到助记符!

有没有办法强制我的程序启用这种行为?我在其他地方读到你可以在系统设置的某个地方更改它,但我需要使用我的软件的人始终看到助记符,而不需要他们全局更改他们的系统才能让我的程序正常工作!

当用户按下 Enter 时,我必须通过 KeyDown 事件处理程序中的代码显示此菜单,因为它是一个用于快速编辑由控件表示的值的弹出窗口。用户单击控件,可以快速更改其内容。当您在 ctrl+space 上弹出一个弹出窗口时,可以将其想象为在 C# 中,提示您可以在该确切位置插入可能的代码片段。因此,将其用作控件的“上下文菜单”属性或使用键盘“显示上下文菜单”按钮不适用。

谢谢!

4

2 回答 2

2

这是一个操作系统设置:

控制面板\所有控制面板项目\轻松访问中心\使键盘更易于使用\使键盘快捷键更易于使用\在键盘快捷键和访问键下划线。

于 2012-04-15T16:51:43.253 回答
0

更改调用上下文菜单的方式。不要手动显示它,而是使用类似的东西:

textBoxSomething.ContextMenuStrip = yourContextMenuStrip;

在这种情况下,如果用户右键单击文本框(或您使用的其他控件),他将获得没有助记符的菜单。但是如果他使用键盘上下文菜单按钮来显示上下文菜单,就会显示助记符。

于 2012-04-15T17:25:40.277 回答