2008-10-07 30 views
3

當我選擇該選項卡頁時,我想要做的是將焦點設置到選項卡頁上的特定控件(特別是TextBox)。在切換選項卡時專注於控件

我試圖在包含選項卡控件的Selected事件期間調用Focus,但這不起作用。之後,我嘗試在控件本身的VisibleChanged事件中調用焦點(使用一個檢查以便我不關注隱形控件),但那也不起作用。

在這個網站搜索,我遇到了這個question,但那也行不通。雖然在那之後,我確實注意到調用控件的Focus確實使它成爲ActiveControl

回答

8

我這樣做,它似乎工作:

處理好SelectedIndexChangedtabControl。 檢查tabControl1.SelectedIndex ==我想要的和 調用textBox.Focus();

我正在使用VS 2008,順便說一句。


事情是這樣的工作:

private void tabControl1_selectedIndexChanged(object sender, EventArgs e) 
{ 
    if (tabControl1.SelectedIndex == 1) 
    { 
     textBox1.Focus(); 
    } 
} 
+0

謝謝,這個工作。你知道爲什麼它在Selected事件中不起作用,但是在SelectedIndex事件中呢? – 2008-10-07 18:45:01

1

嘗試TabPage.Enter像

 
     private void tabPage1_Enter(object sender, EventArgs e) 
     { 
      TabPage page = (TabPage)sender; 
      switch (page.TabIndex) 
      { 
       case 0: 
        textBox1.Text = "Page 1"; 
        if (!textBox1.Focus()) 
         textBox1.Focus(); 

        break; 
       case 1: 
        textBox2.Text = "Page 2"; 

        if (!textBox2.Focus()) 
         textBox2.Focus(); 

        break; 
       default: 
        throw new InvalidOperationException(); 
      } 
     }