2008-10-07 29 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(); 
      } 
     }