Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - [решено] Проблема с ErrorProvider. Преверка корректности ввода из TextBox-a.

Ответить
Настройки темы
.NET - [решено] Проблема с ErrorProvider. Преверка корректности ввода из TextBox-a.

Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте.
Написал программу (на С#), работает с картинками. К примеру инвертирует цвета в заданной области, рисует геометрические фигуры и т.п. (цель написания - изучение С# и методов работы с картинками на нем, небезопасный код и т.д.) В случае некорректного ввода координат точек (например, треугольник - 6 текст боксов, по одному на координату) следует сообщить об ошибке. Для этого использую ErrorProvider.
Код: Выделить весь код
        private void textBox1_Validating(object sender, CancelEventArgs e)
          {
              try
              { 
                       int tmp = Int32.Parse(textBox1.Text);
                       errorProvider1.SetError(textBox1, "");
              }
              catch
              {
                       errorProvider1.SetError(textBox1, "Вводите только целые числа");
              }
          }
но, так как текст боксов много и писать тот же самый код для каждого лишь меняя цифру в названии (textBox1,2,3...) плохой вариант. Есть какое-то хорошее решение?

З.Ы. Пользователь может вводить некорректные данные. Варианты без ErrorProvider-а прошу не предлогать.-) Спасибо за внимание.
З.З.Ы. Была мысль проводить проверку всех текст боксов при нажатии клавиши [Ок.] Пока остановился на ней.

Отправлено: 21:15, 04-11-2011

 

В Поисках Истины


Сообщения: 802
Благодарности: 135

Профиль | Отправить PM | Цитировать


Если я правильно вас понял, то вам нужно сделать что - то вроде этого:
1. Сделать общее событие для обработки
Код: Выделить весь код
 private void textBox_Validating(object sender, CancelEventArgs e)
2. В событии привести "инициатора" к textbox:
Код: Выделить весь код
TextBox txtBox = (TextBox)sender;
3. Далее в событии обрабатывать информацию из txtBox
4. Для каждого вашего текстбокса на событие validating повесить общее созданное событие.

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:03, 05-11-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо, вы все правильно поняли.
Ваш вариант мне нравиться и подходит. Я и хотел повесить один обработчик на все текстбоксы.

Вопрос можно считать закрытым.

Отправлено: 10:21, 05-11-2011 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - [решено] Проблема с ErrorProvider. Преверка корректности ввода из TextBox-a.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Как сделать запрет ввода букв в поле для ввода input zvezda_t Вебмастеру 2 28-12-2009 15:52
Ошибка - Проблема с языками ввода vagifali Microsoft Windows 2000/XP 6 19-09-2008 19:54
Проблема с языками ввода e-not1989 Автоматическая установка Windows 2000/XP/2003 1 31-05-2007 08:11
Проверка корректности работы ODBC-драйверов... CyraxZ Microsoft Windows 2000/XP 1 15-03-2007 22:15
Textbox Nusik Программирование и базы данных 4 22-10-2004 10:22




 
Переход