Объясните, что делает этот код? - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Читаю вот эту тему Выделить все CheckBox!. Отвечающий уже как 3 года тут не показывается, поэтому прошу помощи у вас. Помогите разобратся в коде, а то со справкой как-то не очень у меня это сделать получается...
Листинг программы
  1. foreach (Control gb in this.Controls)
  2. {
  3. if (gb.GetType().ToString().IndexOf("GroupBox")>-1)
  4. {
  5. foreach (Control che in gb.Controls)
  6. {
  7. if (che.GetType().ToString().IndexOf("CheckBox") > -1)
  8. {
  9. CheckBox che1 = (CheckBox)che;
  10. che1.Checked = true;
  11. }
  12. }
  13. }
  14. }
Здесь мы объявляем переменную gb типа Control, которая будет что-то делать в этой форме с Control-ами?
Листинг программы
  1. foreach (Control gb in this.Controls)
Тут ищем первое вхождение со строкой "GroupBox"? Почему условие ">-1"?
Листинг программы
  1. if (gb.GetType().ToString().IndexOf("GroupBox")>-1)
Это выражение совсем не понял...
Листинг программы
  1. CheckBox che1 = (CheckBox)che;

Решение задачи: «Объясните, что делает этот код?»

textual
Листинг программы
  1. // Цикл по всем элементам управления формы
  2. foreach (Control gb in this.Controls)
  3. {
  4.     // Получаем имя типа элемента управления - gb.GetType().ToString()
  5.     // Затем проверяем есть ли в имени типа строка GroupBox
  6.     // IndexOf возвращает позицию найденной строки. Если строка не найдена, то метод вернет -1
  7.     if (gb.GetType().ToString().IndexOf("GroupBox")>-1)
  8.     {
  9.         // Цикл по всем элементам управления внутри GroupBox
  10.         foreach (Control che in gb.Controls)
  11.         {
  12.             // Проверяем содержит ли имя типа элемента управления строку CheckBox
  13.             if (che.GetType().ToString().IndexOf("CheckBox") > -1)
  14.             {
  15.                 // Т.к. мы уже убедились что в переменной che хранится значение типа CheckBox,
  16.                 //    то выполняем приведение значения переменной che к типу CheckBox
  17.                 CheckBox che1 = (CheckBox)che;
  18.                 che1.Checked = true;
  19.             }
  20.         }
  21.     }
  22. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут