.Net WinForms TabControl Steals 专注于表单激活
Posted
技术标签:
【中文标题】.Net WinForms TabControl Steals 专注于表单激活【英文标题】:.Net WinForms TabControl Steals Focus on form activation 【发布时间】:2011-03-29 12:41:44 【问题描述】:不知道有没有人可以帮助我?
我遇到的问题是 Windows 表单 TabPage 在重新激活表单时窃取了焦点。该窗体有一个带有四个或五个 TabPages 的 TabControl。每个标签页都有许多不同的控件。
场景如下: 用户通过第一个 TabPage 上的一些控件进行选项卡,并生成并显示一个新表单(例如从 TextBox 的一个离开事件),当它自己获得焦点时,它会从第一个表单中移除焦点。用户在新表单上选择一个值并关闭它。 - 然后我希望原始表单知道用户在哪里切换并设置焦点到该控件。
但是,当表单重新激活时,它似乎设置了焦点,而不是回到用户到达的位置,甚至是活动 TabPage 的选项卡顺序中的第一个控件。相反,它将焦点放在活动的 TabPage 本身。
这附近有什么地方吗?
感谢和亲切的问候, 杜安。
【问题讨论】:
【参考方案1】:我创建了变量(在选项卡控件类中,以将它们保持在范围内)来存储当前页面和访问的最后一页,还创建了一个变量来存储具有焦点的控件,使用指针、引用等.
当您返回时,使用该变量将焦点恢复到该控件。
HTH
【讨论】:
谢谢,我会在周一回来工作时看看如何实施该技术。 :o)以上是关于.Net WinForms TabControl Steals 专注于表单激活的主要内容,如果未能解决你的问题,请参考以下文章
如何在设计器的 WinForms TabControl 中切换选项卡?