我想知道是否有人可以帮助我?
我遇到的问题是Windows窗体TabPage窃取重点,重新激活表单。表单有一个带有四个或五个TabPages的TabControl。每个标签页都有许多不同的控件。
方案如下: 用户通过第一个TabPage上的几个控件进行选项卡,然后生成并显示一个新表单(例如,从TextBox的一个Leave事件中删除),该表单从第一个表单中移除焦点,因为它需要焦点本身。用户在新表单上选择一个值并将其关闭。 - 然后我希望原始形式知道用户选中的位置并将焦点设置为该控件。
但是,当表单重新激活时,它会设置焦点,而不是返回到用户所在的位置,甚至是活动TabPage的Tab键顺序中的第一个控件。相反,它将焦点放在活动的TabPage本身上。
周围有没有?
谢谢和亲切的问候, 杜安。
答案 0 :(得分:1)
我已经创建了变量(在tab-control类中,使它们保持在范围内)来存储当前页面和访问的最后一页,还创建一个变量来存储具有焦点的控件,使用指针,引用,等等
当您返回时,使用该变量将焦点恢复到该控件。
HTH