界面上拖了一个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属性为只读,所以暂时只能以这种蹩脚的方式解决了,更优的方案欢迎指导。