Найти элемент управления внутри вкладки, созданной с помощью usercontrol
Я создал usercontrol, затем у меня есть tabcontrol, где есть вкладка, содержащая 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";
но он по-прежнему возвращает ошибку времени выполнения, говоря, что приведенный пользовательский контроль не может быть применен к текстовому полю. я не знаю, что это значит... пожалуйста, помогите мне в этом.. я также пытался вставить в Controls[1], но он вернул ошибку времени выполнения, из которых исключение OutofBounds. я не знаю, что делать или как найти элемент управления внутри usercontrol на вкладке... пожалуйста, hellp
2 ответа
Немного неясно, существует ли 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";
}
}
UserControl uc = NameTabPages.Controls[0] as UserControl; // it's work