获取所选选项卡中的文本框

时间:2013-08-02 00:04:01

标签: c# tabs tabcontrol

我有一个tabcontrol,其中包含许多包含文本框的选项卡。如何选择当前所选标签中的文本框?

我有这个捕获tabchanged事件并告诉我选择了哪个选项卡,但我无法弄清楚如何找到选项卡中的文本框并执行

textbox.Select(0, 0);

选择此文本框中的某些文字...

private void onTabChange(Object sender, TabControlEventArgs e)
{

}

4 个答案:

答案 0 :(得分:1)

这个真的听起来像是一个设计错误。这个TextBox根本不应该在标签页上的高概率。如果您想在每个标签页上显示一个文本框,那么Winforms可以轻松移动控件:

    private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) {
        textBox1.Parent = tabControl1.SelectedTab;
    }

如果确实意味着要挑选任何文本框,就像选项卡顺序中的第一个一样:

    private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) {
        var box = tabControl1.SelectedTab.Controls.OfType<TextBox>().Reverse().FirstOrDefault();
        if (box != null) {
            // etc...
        }
    }

答案 1 :(得分:0)

我认为以下链接可以为您提供有关您的问题的一些提示 How to access controls that are inside a TabControl tab?How to get control(s) from TabPage in C#?

答案 2 :(得分:0)

使用此:

Tab TabView = (Tab)sender;
TextView txt_Tab = (TextView)TabView.FindControl("TextBoxName");

答案 3 :(得分:0)

试试这个:

TextBox myTB = tabControl2.SelectedTab.Controls[0] as TextBox;
myTB.Select(0, 0);