繁体   English   中英

在使用用户控件创建的标签页中找到控件

[英]find a control inside a tabpage that is created with a usercontrol

我创建了一个用户控件,然后有一个tabcontrol,其中有一个包含2个按钮的标签页,单击button1时,它会创建一个新的标签页,并将用户控件通过以下方式添加到其控件中

tab = new TabPage();
UserControl1 uc = new UserControl1();           
tab.Controls.Add(uc);
tab.Name = "0";
tab.Text = tab.Name;
tabControl1.TabPages.Add(tab);

现在,当我单击button2时,它应该将文本放在刚刚创建的usercontrol-tabpage内的文本框中,我使用此代码实现了它,

TextBox sel = (TextBox)tabControl1.TabPages["0"].Controls["textBox1"];
sel.Text = "ssss";

但是它返回一个运行时错误,说找不到该控件,所以我尝试了

TextBox sel = (TextBox)tabControl1.TabPages["0"].Controls[0];
sel.Text = "ssss";

但它仍然返回运行时错误,表示不能将强制用户控件应用于文本框。 我不知道这意味着什么。.请帮助我。.我也尝试放入Controls [1],但它返回了运行时错误,其中一个是OutofBounds异常。 我不知道该怎么办,或者如何在选项卡页的usercontrol中找到控件...请问好

尚不清楚UserControl中是否已存在TextBox,因此我假设它确实存在。 在这种情况下,您必须先引用UserControl:

UserControl1 uc1 = tabControl1.TabPages["0"].Controls[0] as UserControl1;
if (uc1 != null) {
  TextBox sel = uc1.Controls["textBox1"] as TextBox;
  if (sel != null) {
    sel.Text = "ssss";
  }
}
UserControl uc = NameTabPages.Controls[0] as UserControl; // it's work

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM