Есть ли способ сгруппировать поля ввода в выигрышных формах? - PullRequest
0 голосов
/ 08 июня 2018

Например, если я хочу проверить, заполнены ли все поля ввода, я не хочу делать это с большим количеством операторов if, особенно если много текстовых полей.Так есть ли лучший способ?

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

С System.Linq вы можете сделать это в одну строку и отфильтровать его по нужным элементам управления:

 this.Controls.OfType<TextBox>().All(box => box.Text.Length > 0);

Или для флажка

this.Controls.OfType<CheckBox>().All(box => box.Checked);

И т. Д.

Он вернет true, если все заполнено / проверено.

Просто не забудьте поставить с помощью System.Linq;поверх вашего кода

0 голосов
/ 08 июня 2018

Как насчет циклического прохождения всех элементов управления в форме и получения, если оно пустое или нет?

foreach(Control control in this.Controls)
    {
      if(control is TextBox && control.Text == "")
         {
            MessageBox.Show("You have to fill all fields");
             return;
         }
    }

Вы можете проверить, какой элемент управления вы хотите!не только текстовые поля

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...