Исходя из активной вкладки TabControl получить имена вкладок и текстовых полей - C#
Формулировка задачи:
Задача.
На форме имеетсяTabContro
l иButton
. По нажатии кнопки для TabControl создается вкладка с почти известным названием (присутствует счетчик, который не позволяет именам совпадать т.е. вкладки имеют названия "Tab1", "Tab2" и т.д.) и к этой вкладке прикрепляется точно также созданное текстовое поле со свойствомMultiline
. Кнопка может нажиматься большое количество раз.Необходимо:
Исходя из активной вкладки получить имена вкладки, и текстового поля и например вставить в данное текстовое поле какой либо текст. Самое сложное для меня получилось установить текст, не имея ссылки на элемент в исходном коде ( ну т.к. элемент у нас создается только по нажатию кнопки)private ScintillaNet.Scintilla FindSciTeByName(string name) { foreach (Control c in this.Controls) //assuming this is a Form { if (c.Name == name) return c as ScintillaNet.Scintilla; //found } return null; //not found }
Скучные Вы все =) После хорошего сна сам все решил. Как оказалось поиск внутри вкладок нужно проводить отдельно, т.к. сама форма не отдаст названия контролов, которые находятся внутри вкладок.
Решение задачи: «Исходя из активной вкладки TabControl получить имена вкладок и текстовых полей»
textual
Листинг программы
static public Control FindControlsInTab(TabPage Tab, string ControlName) { foreach (Control c in Tab.Controls) { if(c.Name == ControlName) return c; } return null; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д