/ / намиране на контрол вътре в табулатора, създаден с usercontrol - c #, winforms, user-controls, controls, tabbed

намерете контрол в табулатора, създаден с usercontrol - c #, winforms, user-controls, controls, tabbed

Имам създаден usercontrol, след това имам aтабконтрол, където има табулатура, която съдържа 2 бутона, когато е натиснат бутон1, създава нова табла и потребителският контрол се добавя към нейните контроли чрез

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

сега, когато щракна на бутона 2, трябва да постави текста в текстовото поле вътре в потребителския контролен панел, който току-що бе създаден, го изпълних с този код,

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

но връща грешка по време на работа, като казва, че не може да намери споменатия контролер, така че се опитах

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

но все пак върне грешка по време на работа, казвайки тованагласеният usercontrol не може да бъде приложен в текстовата кутия. аз не знам какво означава това .. pls да ми помогне в това .. Аз също се опитах пускането в контрола [1], но тя върна грешка по време на работа, от които е OutofBounds изключение. Не знам какво да правя или как да намеря контрола вътре в потребителския контролер в раздела ... pls hellp

Отговори:

1 за отговор № 1

Това е малко неясно, ако TextBox вече съществува в UserControl, така че аз ще предположа, че го прави.В този случай трябва първо да препратите 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";
}
}

0 за отговор № 2
UserControl uc = NameTabPages.Controls[0] as UserControl; // it"s work