UserControl键盘焦点

Axo*_*onn 2 c#

我有一个带有许多按钮的表格(假设为20).在中间,我得到一个完全空的用户控件.问题是:我怎么能这样做,以便在单击用户控件时,它将获得键盘焦点?

原因:我用鼠标在用户控件中绘制形状.形状实际上是其他用户控件.我想要做的是能够使用键盘移动这些形状.但我似乎无法正确地抓住键盘焦点.该Key_Down事件只是没有达到我的主(拉入)用户控制.

换句话说,我们怎样才能在控件中使用键盘焦点而没有可聚焦的项目呢?如何才能使键盘无法控制,捕捉这些事件?除了使用原始WIN32 API硬核之外,还有什么方法可以在窗口范围内抓取这些事件?

Han*_*ant 6

UserControl非常适合作为其他控件的容器控件.它憎恶获得焦点并试图在它获得第一次机会时将其传递出去.你不应该在这里使用UserControl,因为你没有在其中放置任何控件.Panel控件就足够了.哪个有完全相同的问题,它也不想获得焦点.

手术需要覆盖其行为.你需要的一切都在这个答案中.