.net 通过按alt键防止选择menustrip

.net 通过按alt键防止选择menustrip,.net,winforms,menustrip,.net,Winforms,Menustrip,我想用alt键设置一些快捷键,但当我按alt键时,菜单提示被选中。如何禁用此行为?这就是为什么在Windows上不使用ALT+快捷键的原因。您不应试图破坏本机系统行为。解决方法是选择不同的快捷方式组合。我知道此线程很旧,但我遇到了相同的问题 一个部分解决方案是使用“SendKeys.Send”函数模拟第二次按alt键。例如,要模拟用户按下“alt-0”: sendkeys.send(“%0”) 这是因为按下Alt键一次会激活菜单条,但再按一次会禁用它 唯一的问题是,这也让软件误以为用户放开了Al

我想用alt键设置一些快捷键,但当我按alt键时,菜单提示被选中。如何禁用此行为?

这就是为什么在Windows上不使用ALT+快捷键的原因。您不应试图破坏本机系统行为。解决方法是选择不同的快捷方式组合。

我知道此线程很旧,但我遇到了相同的问题

一个部分解决方案是使用“SendKeys.Send”函数模拟第二次按alt键。例如,要模拟用户按下“alt-0”:

sendkeys.send(“%0”)

这是因为按下Alt键一次会激活菜单条,但再按一次会禁用它

唯一的问题是,这也让软件误以为用户放开了Alt键。因此,如果您想在按住Alt键的同时按住其他一些键,则此功能不起作用


既然Alt键触发了menustrip.activate事件,似乎应该有某种方法可以在代码中触发menustrip.deactivate事件,而不需要模拟另一次按下Alt键,但我不知道该怎么做

为什么要降低应用程序的可用性?我想通过快捷键提高应用程序的可用性,但我的键盘上只有X键。试着与vim或emacs用户争论,因为编辑器不使用本机组合,所以可用性较差。这会降低可用性。您是否知道可以组合使用control、alt和shift修饰符?alt键允许用户访问MenuStrip上的每个项目,而不管是否指定了特定的快捷键。老实说,您不需要为每个函数指定快捷键,只需要为最常用的函数指定快捷键。创建快捷方式时,可以将ALT和CTRL组合使用,但不能单独使用。当您发现使用CTRL、SHIFT、ALT和F组合键的快捷键已经用完时,您可能已经有足够的快捷键了。请慢一分钟,仔细考虑一下。禁用键盘访问菜单后,请考虑应用程序的用户将如何通过键盘访问菜单@科迪·格雷(Cody Gray)像往常一样赚大钱——太多的捷径会冲淡为最重要的行动设置捷径的价值。你可能想为此提出一个单独的问题,因为很少有人会看到这一点。