Проверка всех CheckBox в C#

156
27 мая 2019, 09:30

Можно ли объединить все чекбоксы на форме в массив и проверить их с помощью цикла?

Answer 1

Ну раз это все же WinForms, то банально взять все контролы одного типа:

var checkBoxes = Controls.OfType<CheckBox>();

Где Controls - свойство самой формы. OfType - LINQ фильтрация коллекции по типу.

Результатом будет коллекция, которая содержит в себе все CheckBox текущего окна. А дальше делайте что вашей душе угодно, хоть циклом гоняйте, хоть меняйте значения определенным элементам.

Answer 2

Для WinForms

List<CheckBox> allBoxes = new List<CheckBox>();
foreach(var checkBox in this.Controls){
    if (checkBox is CheckBox)
        allBoxes.Add(checkBox);
    //Или работать вот тут со свойством Checked
}

Для WPF

foreach( FrameworkElement checkBox in grid.Children )
{
   if (checkBox is CheckBox)
   {
       //Опять работаем с каждым. Можно сначала в массив, а потом по индексу
   }
}
READ ALSO
Вопрос про отправку формы

Вопрос про отправку формы

А вот вопрос: а если формам не присваивать имя и id, и несколько форм будут содержать одинаковые имена полей(input), не будет ли потом загвоздки...

156
Как сделать таймер времени на сайте?

Как сделать таймер времени на сайте?

Подскажите как прикрутить к php javascriptЕсть код и он работает, как к нему прикрутить таймер времени javascript такого авто обновления чтоб обновлять...

136