面板未获得焦点
我继续在我的简单图形程序(使用C#)中编写某种键盘导航程序。我又一次遇到了麻烦。
我的问题是,我想要处理键盘输入,以移动一层左右。用鼠标移动图层已经很好了,但是控件没有得到焦点(此控件既不触发KeyUp/Keydown/KeyPress,也不触发GotFocus/LostFocus。)。因为我的类来自Panel(并且覆盖了几个事件),所以我也重写了上面提到的事件,但是我无法成功地触发这些事件。
我认为我可以使用类似Keyboard.GetState()或ProcessCmdWnd之类的工具来实现键盘响应。然而:我仍然必须能够知道控制什么时候得到了关注。
是否有某种优雅的方法将此功能添加到用户控件(这是基于Panel的)?
我在这里检查了很多线程,我可能会使用这种方法用于键盘输入。然而,焦点问题仍然存在。
非常感谢您事先提供的信息!
伊戈尔。
P.S.:我正在使用VS 2008用C#.NET v3.5编程。这是一个Windows,Forms应用程序,不是WPF.