.Net WinForms TabControl Steals专注于表单激活

时间:2010-08-13 14:55:14

标签: .net winforms focus tabcontrol activation

我想知道是否有人可以帮助我?

我遇到的问题是Windows窗体TabPage窃取重点,重新激活表单。表单有一个带有四个或五个TabPages的TabControl。每个标签页都有许多不同的控件。

方案如下: 用户通过第一个TabPage上的几个控件进行选项卡,然后生成并显示一个新表单(例如,从TextBox的一个Leave事件中删除),该表单从第一个表单中移除焦点,因为它需要焦点本身。用户在新表单上选择一个值并将其关闭。 - 然后我希望原始形式知道用户选中的位置并将焦点设置为该控件。

但是,当表单重新激活时,它会设置焦点,而不是返回到用户所在的位置,甚至是活动TabPage的Tab键顺序中的第一个控件。相反,它将焦点放在活动的TabPage本身上。

周围有没有?

谢谢和亲切的问候, 杜安。

1 个答案:

答案 0 :(得分:1)

我已经创建了变量(在tab-control类中,使它们保持在范围内)来存储当前页面和访问的最后一页,还创建一个变量来存储具有焦点的控件,使用指针,引用,等等

当您返回时,使用该变量将焦点恢复到该控件。

HTH