C# 如何在WinForms的MenuStrip中使用单键快捷方式?

C# 如何在WinForms的MenuStrip中使用单键快捷方式?,c#,winforms,shortcut,C#,Winforms,Shortcut,我是c/.NET的初学者,这是我的第一个问题。我没有发现类似的问题 我有一个简单的窗口游戏,键盘是无用的(类似于扫雷)。我想在MenuStrip中添加一个“P”快捷键,以“暂停”选项 我在Form1.Designer.cs中尝试过这个: this.pauseToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.P; 但我得到了一个名为System.ComponentModel.InvalidEnumArgumentExceptio

我是c/.NET的初学者,这是我的第一个问题。我没有发现类似的问题

我有一个简单的窗口游戏,键盘是无用的(类似于扫雷)。我想在MenuStrip中添加一个“P”快捷键,以“暂停”选项

我在Form1.Designer.cs中尝试过这个:

this.pauseToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.P;
但我得到了一个名为System.ComponentModel.InvalidEnumArgumentException的错误。(“参数值“value”(80)对于枚举类型“Keys”不正确。 参数名称:值“)

我也尝试在解决方案资源管理器->属性->不同->快捷键中更改它,但VisualStudio阻止了它,并将值返回为“无”

另一方面,我键入以下行:

this.newgameToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F2;
它工作得很好


有没有办法做到这一点?顺便说一句,如果我写错了什么,我的英语很抱歉。

使用常规键入键作为快捷方式会导致属性错误。这可能与“扫雷舰”没有多大关系,但当你添加一个高分弹出窗口,让用户输入他们的名字时,你会大吃一惊。请改为这样做。谢谢,这个解决方案很好,但是是否可以在MenuStrip上设置一个“P”快捷方式(可见)?我发现的唯一方法是将pauseToolStripMenuItem中的文本更改为“Pause\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu