Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Проверка всех элементов управления на форме


Автор: tumanovalex 12.6.2009, 09:31
На форме расположены элементы управления. По умолчанию значения в numericUpDown равно нулю, а в комбобоксах - пустые. Пользователь должен ввести числовые значения (не нулевые) и выбрать данные в комбо-боксах. По нажатию кнопки хотелось бы проверить, введены ли данные или пользователь забыл что-то ввести. Попробовал foreach в функции button1_Click, но неправильно ее использую (только изучаю С#). Подскажите, пожалуйста, как правильно написать процедуру проверки на ненулевые значения в нумерик-ап-даун и в комбо-боксах.

Автор: Экскалупатор 12.6.2009, 12:54
Проверяет текст боксы, остальные контролы по анологии:
Код

foreach (Control c in this.Controls)
                        {
                            if (c is TextBox)
                                if (((TextBox)c).Text != "")
                                      {
                                            //твой код
                                       }
                        }




p.S. но помоему проще и лучше сделать через события контролов. Что бы при изменении присвоить значения переменным, а потом уже их проверить перед использованием и использовать.

Добавлено через 7 минут и 8 секунд
tumanovalex, перечитал еще раз твой пост и считаю что в твоем случае оптимальнее все таки через события контролов делать.

Автор: tumanovalex 16.6.2009, 14:03
А что значит "Одно событие для контролов". Мне нужно производить расчет по нажатию кнопки, если  в одном из котролов оставлено значение по умолчанию, то расчет не должен производиться (комбо-боксы обеспечивают ветвление в программе расчета)

Автор: Partizan 20.6.2009, 23:00
tumanovalex, создаёте обработчик события для одного из текстбоксов, например, в котором проверяете валидность введённого значения....а всем остальным текстбоксам также назначаете этот же уже созданный обработчик

Автор: Экскалупатор 21.6.2009, 00:53
tumanovalex, а где сказано про "одно событие для контролов"? у вас должны быть переменные в которых хранятся значения, делаете что бы по событию ввода чего нить в текстбокс(или куда там у вас), в эту переменную записывались новые значения, а потом в обработчике кнопки проверяете эти переменные и делаете с ними то что вам нужно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)