我想使用alt键设置一些快捷方式,但是当我按下alt键时,菜单栏会被选中。如何禁用这种行为?
我知道这个帖子很旧了,但我遇到了同样的问题。
一个部分解决方案是使用“SendKeys.Send”函数来模拟第二次按下alt键。例如,要模拟用户按下“alt-0”:
sendkeys.send("%0")
这个方法的原理是按一次Alt键会激活菜单栏,但再按一次则会取消激活。
唯一的问题是,这也会让软件误认为用户已经松开了Alt键。所以如果你想在按住Alt键的同时按其他键,这个方法就不适用了。
由于按下Alt键会触发menustrip.activate事件,因此似乎应该有一种方法可以在代码中触发menustrip.deactivate事件,而不需要模拟另一个Alt键的按下,但我无法想出如何实现...