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

本文关键字:文本 选项 获取 | 更新日期: 2023-09-27 18:25:49

我有一个选项卡控件,它有许多选项卡,所有选项卡都包含一个文本框。如何选择当前所选选项卡中的文本框?

我有这个捕获tabchanged事件并告诉我选择了哪个选项卡,但我不知道如何找到选项卡中的文本框并进行

textbox.Select(0, 0);

要在此文本框中选择某些文本。。。

private void onTabChange(Object sender, TabControlEventArgs e)
{
}

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

这个真的听起来像是一个设计错误。这个文本框很可能根本不应该出现在选项卡页面上。如果你想在每个选项卡页面上都有一个文本框,那么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...
        }
    }

使用此:

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

试试这个:

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

我认为以下链接可以为您提供一些关于问题的提示如何访问TabControl选项卡中的控件?和如何在C#中从TabPage中获取控件?