Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/20: Рейтинг темы: голосов - 20, средняя оценка - 4.55
freedomman
8 / 6 / 4
Регистрация: 22.05.2012
Сообщений: 54
1

Обработка KeyPress для нескольких TextBox

20.06.2012, 08:13. Просмотров 4097. Ответов 2
Метки нет (Все метки)

на форме имеется множество текстбоксов, я написал проверку на ввод только вещественных чисел, привязал к keyPress. как применить этот код ко всем текстбоксам без размножения кода на каждый KeyPress текстбокса?
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2012, 08:13
Ответы с готовыми решениями:

Обработка KeyPress для нескольких TextBox C++
на форме имеется множество текстбоксов, я написал проверку на ввод только чисел, привязал к...

Не работает событие KeyPress для TextBox
Подскажите пожалуйста!!!!Создаю textbox int Y = 50; lb4 =new Label(); ...

Массовая обработка событий в нескольких TextBox
Создаю 10 текстовых полей и на каждое поле нужно навесить обработку события Validating. Можно на...

Событие ReadOnlyChanged в TextBox Одно для нескольких TextBox-ов
Здравствуйте! Дамы и Господа, подскажите как сделать одно событие ReadOnlyChanged для нескольких...

2
turbanoff
Эксперт Java
4055 / 3790 / 743
Регистрация: 18.05.2010
Сообщений: 9,330
Записей в блоге: 11
Завершенные тесты: 1
20.06.2012, 08:18 2
Лучший ответ Сообщение было отмечено freedomman как решение

Решение

Привязать ваш один обработчик ко всем текстбоксам.
В обработчик передается объект sender - это и будет текущий textBox, для которого произошло событие.

В конструкторе формы:
C#
1
2
3
            textBox1.TextChanged += TextBoxOnTextChanged;
            textBox2.TextChanged += TextBoxOnTextChanged;
            textBox3.TextChanged += TextBoxOnTextChanged;
Обработчик:
C#
1
2
3
4
5
        private void TextBoxOnTextChanged(object sender, EventArgs eventArgs)
        {
            TextBox textBox = (TextBox)sender;
            //проверка текста для textBox
        }
2
freedomman
8 / 6 / 4
Регистрация: 22.05.2012
Сообщений: 54
20.06.2012, 09:26  [ТС] 3
делаю так, но не выходит
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
       private void press(object sender, KeyPressEventArgs e)
        { 
            TextBox tx = (TextBox) sender;
            if (!(Char.IsDigit (e.KeyChar)) && !((e.KeyChar == ',') && (tx.Text.IndexOf (',') == -1) &&                 (tx.Text.Length != 0)))
            {
               if (e.KeyChar != (char) Keys.Back)
           {
            e.Handled = true;
            }
            }
        }
 
        private void tBNi_KeyPress(object sender, KeyPressEventArgs e)
        {
         
 
            press(sender, e);
            
        }
Добавлено через 1 минуту
о как), спасибо
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2012, 09:26

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Не срабатывает KeyPress у textBox
Всем привет! Изучаю C# и Windows Forms. Рассматривал примеры из книги Культина. Вот, например,...

Один функционал для нескольких textbox
Всем доброго времени суток! На форме расположены три textbox'a, в которых нельзя ввести первым...

Один обработчик события для нескольких TextBox'ов
Добрый день! У меня в приложении 4 текстбокса пишу код для запрета ввода букв, как его применить...

Обработка исключений для textbox
У меня 3 текст бокса. Я хочу, чтобы нельзя было вводить буквы, а также значение а больше 3,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.