代码之家  ›  专栏  ›  技术社区  ›  Dib

.Net WinForms TabControl窃取的重点是窗体激活

  •  4
  • Dib  · 技术社区  · 15 年前

    我遇到的问题是windows窗体标签页窃取了对窗体重新激活的关注。表单有一个TabControl,有四到五个TabPages。每个选项卡页都有许多不同的控件。

    情景如下: 用户通过第一个TabPage上的几个控件进行tab操作,就会生成并显示一个新表单(比如从TextBox的一个Leave事件中),当第一个表单自身获得焦点时,它就会从第一个表单中移除焦点。用户在新窗体上选择一个值并将其关闭。-然后,我希望原始表单知道用户将选项卡放在哪里,并将焦点设置为该控件。

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

    这附近有什么地方吗?

    谢谢并致以亲切的问候,

    1 回复  |  直到 15 年前
        1
  •  1
  •   JustBoo    15 年前

    我已经创建了变量(在tab控件类中,将它们保留在作用域中)来存储当前页和访问的最后一页,还创建了一个变量来存储具有焦点的控件,使用指针、引用等等。

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

    推荐文章