如何重新加载表单控件(dockPanels)

How to reload focus on form controls (dockPanels)

我有一个带有四个 dockPanel 的表单

我想通过更改他们的 'tabIndex' 来专注于特定的 dockPanel。对于应该关注的 dockPanel,我将 tabIndex 设置为 0,我增加了其余的 dockPanel 索引。

我需要在方法中控制它以便能够在需要时触发更改。我可以在构造函数中设置它,并且在表单首次初始化期间可以正确设置焦点,但这不是我需要的。

问题是我无法强制将焦点放在表单上,​​所以当我更改 tabIndexes 时什么也没有发生。

你知道怎么触发吗:

System.Windows.Forms.dll!System.Windows.Forms.ContainerControl.UpdateFocusedControl()

它应该在表单内重新加载焦点,但我无法触发它。 我尝试了类似于以下的解决方案:myForm.Select() 但没有任何结果。

谢谢

TabIndex 属性 不适用于扩展坞面板。
使用 DockManager.ActivePanel 属性 获取或设置当前 活动的 停靠面板:

dockManager1.ActivePanel = dockPanel1;

活动停靠面板是具有焦点或包含具有焦点的控件的面板。
更改活动停靠面板时,将触发 DockManager.ActivePanelChanged 事件。