【问题标题】:get textbox that is in the selected tab获取所选选项卡中的文本框
【发布时间】:2013-08-02 09:00:46
【问题描述】:

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

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

textbox.Select(0, 0);

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

private void onTabChange(Object sender, TabControlEventArgs e)
{

}

【问题讨论】:

  • 使用的是什么演示系统?

标签: c# tabs tabcontrol


【解决方案1】:

真的听起来像是一个设计错误。此 TextBox 根本不应该出现在标签页上的可能性很高。如果您希望在 每个 标签页上出现 一个 文本框,那么这是可能的,Winforms 可以轻松移动控件:

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

如果您真的想要选择任何文本框,例如 Tab 键顺序中的第一个,那么:

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

【讨论】:

    【解决方案2】:

    使用这个:

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

    【讨论】:

      【解决方案3】:

      试试这个:

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

        • 欢迎来到 Stackoverflow。感谢您回答第一个问题。请考虑将链接中的主要内容添加到您的答案中,因为随着时间的推移,链接往往会消失 - 谢谢!
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-11
        • 2012-11-16
        • 1970-01-01
        • 2016-12-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多