我想知道Form.KeyPreview属性实际上有什么用处?为什么它存在以及通过将其设置为true来"冒险"?我想它必定有一些负面影响 - 否则根本不存在(或者至少默认为真)?
编辑:我非常清楚地知道什么它.我问为什么.为什么我必须将其设置为true才能使键盘事件触发?为什么键盘事件总是不会触发表单.什么不仅仅是标准行为?
我问的特殊原因是:我刚刚在我的应用程序的基本形式中设置了KeyPreview = true,其他所有形式都继承自.我是否有任何令人讨厌的惊喜?
我正在设计一个设备应用程序.Compact Framework 2.0
我希望用户按F1导航到下一个屏幕,但它不起作用.
似乎无法找到解决方案.
可能吗?
这就是我通常使用Keypress的方式:
这有效:
if (e.KeyChar == (char)Keys.M)
{
MessageBox.Show("M pressed");
e.Handled = true;
}
Run Code Online (Sandbox Code Playgroud)
这不起作用:
if (e.KeyChar == (char)Keys.F1)
{
MessageBox.Show("F1 pressed");
e.Handled = true;
}
Run Code Online (Sandbox Code Playgroud)