0

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

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

textbox.Select(0, 0);

在此文本框中选择某些文本...

private void onTabChange(Object sender, TabControlEventArgs e)
{

}
4

4 回答 4

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...
        }
    }
于 2013-08-02T00:57:49.913 回答
0

用这个:

Tab TabView = (Tab)sender;
TextView txt_Tab = (TextView)TabView.FindControl("TextBoxName");
于 2013-08-02T00:30:58.237 回答
0

尝试这个:

TextBox myTB = tabControl2.SelectedTab.Controls[0] as TextBox;
myTB.Select(0, 0);
于 2013-08-02T00:31:57.333 回答
0

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

于 2013-08-02T00:28:56.257 回答