我有一个简单的窗体应用程序,我已经为我的特定任务设置了一个自定义控件,我已经为Form编写了KeyDown Handler,问题是KeyDown处理程序在箭头以外的每个键都正常工作键...控件没有进入键处理程序?为什么会这样?当我删除自定义控件时,它开始正常工作?
答案 0 :(得分:1)
是KeyPreview吗? 什么控制有焦点?
答案 1 :(得分:0)
我没有看到表单没有预览箭头键的原因。但无论如何,如果您需要更多低级访问键盘处理(特别是快捷键处理),您可以覆盖表单的 ProcessCmdKey 。
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Left)
{
// your code here
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
答案 2 :(得分:0)
您应该将自己集中在代码中的某个位置以正确使用ProcessCmdKey。