我将继续在我的简单图形程序(使用C#)中编程某种键盘导航.我又一次陷入困境.

我的问题是我想处理键盘输入以移动图层.使用鼠标移动图层已经很好地工作了,但控件没有得到焦点(此控件都没有触发KeyUp/KeyDown/KeyPress和GotFocus/LostFocus).由于我的类派生自Panel(并覆盖了几个事件),我也覆盖了上面提到的事件,但是我无法成功触发这些事件.
我想我可以设法使用Keyboard.GetState()或ProcessCmdWnd之类的东西来实现键盘响应.但是:我仍然必须知道控件何时得到关注.
是否有一种或多或少的优雅方式将此功能添加到用户控件(基于Panel)?
我在这里检查了很多线程,我可能会使用这种方法进行键盘输入.然而,焦点问题仍然存在.
非常感谢您提前获取信息!
伊戈尔.
ps:我使用VS2008在C#.NET v3.5中编程.它是Windows.Forms应用程序,而不是WPF.
我有 50 个用户控件,可以动态添加到 flowlayoutPanel 中。我需要将焦点设置为用户控件,但它不起作用。我一直在搜索,但找不到任何我理解的例子。
我发现的唯一示例是 将焦点设置为 .NET 用户控件...?
我尝试使用 userCtrl.Focus(); 但它没有用。正如我一直在阅读用户控件不喜欢有焦点。