.Net WinForms TabControl在窗体激活时窃取焦点

4

我想知道是否有人能帮助我?

我的问题是窗体TabPage在重新激活时夺取了焦点。该窗体具有TabControl,其中包含四个或五个TabPage。每个选项卡页面都有许多不同的控件。

情况如下: 用户在第一个TabPage上通过几个控件进行制表,并生成并显示新窗体(例如从其中一个TextBox的Leave事件)以将焦点从第一个窗体中删除,因为它本身获得了焦点。用户选择新窗体上的值并关闭它。然后,我希望原始窗体知道用户制表到了哪个控件,并将焦点设置到该控件。

然而,当窗体重新激活时,它不会将焦点设置回用户所到达的位置,甚至不是活动TabPage中的第一个控件。相反,它将焦点放在活动TabPage本身上。

有没有解决方法?

谢谢和问候, Duane。

1个回答

1

我已经创建了变量(在选项卡控件类中,以保持它们的范围)来存储当前页面和上次访问的页面,还创建了一个变量来存储具有焦点的控件,使用指针、引用或其他方式。

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

希望对您有所帮助。


谢谢,星期一回到工作岗位后我会考虑实现这个技术的。:o) - Dib

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接