我有一个tabcontrol,其中包含许多包含文本框的选项卡。如何选择当前所选标签中的文本框?
我有这个捕获tabchanged事件并告诉我选择了哪个选项卡,但我无法弄清楚如何找到选项卡中的文本框并执行
textbox.Select(0, 0);
选择此文本框中的某些文字...
private void onTabChange(Object sender, TabControlEventArgs e)
{
}
答案 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);