如何重新加载表单控件(dockPanels)
How to reload focus on form controls (dockPanels)
我有一个带有四个 dockPanel 的表单
- dock_1
- dock_2
- dock_3
- dock_4
我想通过更改他们的 '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 事件。
我有一个带有四个 dockPanel 的表单
- dock_1
- dock_2
- dock_3
- dock_4
我想通过更改他们的 '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 事件。