界面上拖了一个TabControl控件有3个TabPage,但是每每首次切换TabPage时表单页面都会自动将TabControl定位到中央,给使用者造成很突兀的感觉。反复尝试发现是因为首次切换时Focus属性的值是true。意思就是首次切换是TabControl是自动获取到焦点的,但是再次切换就不会获取焦点了。解决的思路有了,代码如下:

 

    #region TabControl focus
    private void CancelTabControlFocus()
    {
      System.Windows.Forms.TabControl tc=this["tabControl4"] as TabControl;
      tc.SelectTab(0);
      tc.SelectTab(1);
      tc.SelectTab(2);
      tc.SelectTab(0);
    }
    #endregion

 

虽然有点投机取巧的成分,但是问题解决是最主要的。另外TabControl的CanFocus属性为只读,所以暂时只能以这种蹩脚的方式解决了,更优的方案欢迎指导。