使用C#的Window Forms快捷键

时间:2009-07-14 14:29:23

标签: c# winforms keyboard-shortcuts

我正在构建一个Windows Forms应用程序,其中menuStriptoolStripMenuItem称为“首选项”,这对于打开首选项表单不言自明。

问题是我已将该项的快捷键绑定到 Ctrl + P ,这会打开打印机对话框,我假设它在所有Windows窗体表单中都是默认的

有没有办法禁用打印机对话框覆盖我的短信?

3 个答案:

答案 0 :(得分:2)

命名“首选项”菜单项时,只需将&符号(& )放在 P 前面。对于您的快捷键,最终会使用 Alt 而不是 Ctrl ,但Visual Studio会为您连接所有内容。

答案 1 :(得分:2)

Windows窗体应用程序中没有默认接线拦截 Ctrl + P 快捷方式并显示打印对话框。如果表单上的菜单中有打印命令,则该菜单项可能将 Ctrl + P 配置为快捷键,如果是这种情况,则其中一个将需要获得一些其他快捷键。

但我确实询问用户是否会经常调出首选项对话框,以至于该命令实际上需要一个快捷键。我可能只是使用访问键而是让打印功能保持 Ctrl + P 。这将符合其他许多应用程序的工作原理。

答案 2 :(得分:1)

没有使用 Ctrl + P 自动打开打印对话框,因为Windows无法知道您要在通用表单上打印什么。但是,我测试过这只是为了确保并且我没有遇到同样的问题。我想你可能在某个地方有一个打印选项,无论是在菜单还是工具栏中。如果您应该能够从该表单打印,那么您应该重新分配其中一个新的快捷键或删除“首选项”快捷键,因为它可能很少使用(除非“首选项开始”之外的原因除外)使用'P'“可以让 Ctrl + P 成为快捷方式,您应该更改”首选项“快捷方式。)

其他答案建议在< kbd> P 前放一个&符号,这样快捷方式就是 Alt + P 。仅当首选项选项位于顶层时,此方法才有效。如果首选项菜单项位于“文件”菜单或“工具”菜单中,则不起作用(相反,您需要按 Alt 和顶级菜单访问键,后面是 P 打开首选项);您需要更改常规快捷键。您仍然可以在快捷键proprety中将快捷键更改为 Alt + P