Объясните, что делает этот код? - C#
Формулировка задачи:
Доброго времени суток!
Читаю вот эту тему Выделить все CheckBox!. Отвечающий уже как 3 года тут не показывается, поэтому прошу помощи у вас. Помогите разобратся в коде, а то со справкой как-то не очень у меня это сделать получается...
Здесь мы объявляем переменную gb типа Control, которая будет что-то делать в этой форме с Control-ами?
Тут ищем первое вхождение со строкой "GroupBox"? Почему условие ">-1"?
Это выражение совсем не понял...
foreach (Control gb in this.Controls) { if (gb.GetType().ToString().IndexOf("GroupBox")>-1) { foreach (Control che in gb.Controls) { if (che.GetType().ToString().IndexOf("CheckBox") > -1) { CheckBox che1 = (CheckBox)che; che1.Checked = true; } } } }
foreach (Control gb in this.Controls)
if (gb.GetType().ToString().IndexOf("GroupBox")>-1)
CheckBox che1 = (CheckBox)che;
Решение задачи: «Объясните, что делает этот код?»
textual
Листинг программы
// Цикл по всем элементам управления формы foreach (Control gb in this.Controls) { // Получаем имя типа элемента управления - gb.GetType().ToString() // Затем проверяем есть ли в имени типа строка GroupBox // IndexOf возвращает позицию найденной строки. Если строка не найдена, то метод вернет -1 if (gb.GetType().ToString().IndexOf("GroupBox")>-1) { // Цикл по всем элементам управления внутри GroupBox foreach (Control che in gb.Controls) { // Проверяем содержит ли имя типа элемента управления строку CheckBox if (che.GetType().ToString().IndexOf("CheckBox") > -1) { // Т.к. мы уже убедились что в переменной che хранится значение типа CheckBox, // то выполняем приведение значения переменной che к типу CheckBox CheckBox che1 = (CheckBox)che; che1.Checked = true; } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д