我正在构建一个应用程序,其中所有键输入必须由Windows本身处理.
我为每个控件设置了tabstop为false,除了一个面板之外,女巫可以抓住焦点(但我不知道它是否有效).
我将KeyPreview设置为true,我正在处理此窗体上的KeyDown事件.
我的问题是,有时箭头键不再响应:
当我只按箭头键时,不会触发keydown事件.
如果我按下带有控件修饰符的箭头键,则会触发keydown事件.
你知道我的箭头键突然停止发射事件的原因吗?
我对这个问题KeyEventArgs的KeyCode和KeyData和KeyValue.
KeyCode并且Keydata是键类型,但我不知道它们之间有什么区别.因为KeyValue,我不知道它是什么 - 它有一个int类型,它是否返回char按下的键的值?
我对Key事件没有多少经验; 任何关于它们如何运作以及如何使用它们的解释将不胜感激.
我希望我的应用程序响应Ctrl+ M它会做一些事情:
if (e.KeyCode == System.Windows.Forms.Keys.M
&& e.KeyCode == System.Windows.Forms.Keys.RControlKey)
Run Code Online (Sandbox Code Playgroud)
我试图点击Ctrl+ M(我尝试了左右Ctrl键)并且它在断点处停止if但从未进入.为什么不呢?