我有一個用戶控件對話框,並試圖設置控件第二個按照Tab鍵順序爲起始選項卡。即當窗體被激活時,焦點控件實際上並不是最低標籤順序的窗體。 我嘗試使用以選項卡順序以編程方式選擇第二個控件
this.SelectNextControl(this.ActiveControl, true, true, true, false);
但「this.ActiveControl」爲空當時設置這個構造函數。
任何人有想法?
我有一個用戶控件對話框,並試圖設置控件第二個按照Tab鍵順序爲起始選項卡。即當窗體被激活時,焦點控件實際上並不是最低標籤順序的窗體。 我嘗試使用以選項卡順序以編程方式選擇第二個控件
this.SelectNextControl(this.ActiveControl, true, true, true, false);
但「this.ActiveControl」爲空當時設置這個構造函數。
任何人有想法?
嘗試,在Shown
事件。當窗口實際顯示時調用此事件 - 此時,所有聚焦已完成,所有控件已創建並且表單已準備就緒。構造函數或Load
中可能不是這種情況。
嘗試
tabControl1.SelectTab(1);
或
tabControl1.SelectTab("tabPage2");
兩種版本,InitializeComponent()
後,立即在構造函數中調用時。 (測試)編輯(後您的澄清)
使這個(現在是第二)控制第一Tab鍵順序和先前的控制(現在是第一個),最後在標籤訂購。由於按Tab鍵在所有控制器中循環,在到達最後一個控制器後自動重新開始,您應該獲得所需的行爲。
+---+ +---+ +---+ +---+ | 4 | | 1 | | 2 | | 3 | +---+ +---+ +---+ +---+
調用'的InitializeComponent()'第一 – Matten 2012-04-23 13:55:22
我這麼做了,不管怎樣都不工作。 – Mystogan 2012-04-23 13:58:02
不客氣。此外,由於您是StackOverflow的新用戶,因此我想告訴您,您可以通過查看答案旁邊的勾號來獲得最佳答案並接受最能幫助您的答案。在這個網站上upvote或接受的答案算作「謝謝」。 – 2012-04-23 14:49:08