Проверка всех текстбоксов на пустоту и их очищение

153
12 апреля 2018, 10:36

Как проверить все разом на введенные данные и разом отчистить?

Answer 1

1) Цикл foreach по свойству Controls. Придется отделять текстбоксы от других контролов. НО если разместить их в одном родительском контроле, то эту проблему легко решить.

2) Цикл for по свойству Controls[$"textBox{i}"], если имена боксов textBoxN, где N - число.

3) Наконец, добавить их в массив, еще в конструкторе формы, и легко работать с массивом циклами.

Примерно так, пишу по памяти

int err=0;
foreach (Control c in Controls) {
   if (c is TextBox) {
      if (string.IsNullOrEmpty((c as TextBox).Text)) err++;
   }
}
if (err > 0) 
   MessageBox.Show($"Неправильно заполнены поля ({err})");
else
   // необходимые действия

Про очистку немного не понял, но точно так же в цикле вызывайте .Clear() или приравниваете свойство Text к пустой строке.

Answer 2

Дублирую метод приведённый Uranus немного подредактированный.

private void contolEmptyCount()
{
    int cc = 0;
    foreach (var c in Controls)
    {
        if (c is TextBox)
            if (string.IsNullOrEmpty((c as TextBox).Text))
                (c as TextBox).Text = "control = " + cc++;
    }
    MessageBox.Show(cc.ToString());
}

И не имеют значения (имена) Name контролов.

Выведем имена контролов с пустым полем Text

    private void button1_Click(object sender, EventArgs e)
    {
        foreach (var c in Controls.OfType<TextBox>())
            if (string.IsNullOrEmpty(c.Text))
                c.Text = "Control Name = " + c.Name;
    }
READ ALSO
Имитирование ввода в поле [требует правки]

Имитирование ввода в поле [требует правки]

Как можно имитировать ввод, так что бы ЯД защита думала что я ввожу это руками?

185
Не играет видео в плеере &lt;video&gt;

Не играет видео в плеере <video>

Загрузил видео на серверНа странице вызываю плеер

235
Добавление логотипа

Добавление логотипа

Как добавить логотип к названию сайта в <title>?

175
Как сверстать такие укосы?

Как сверстать такие укосы?

Как сверстать то что на картинке?

221