С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
1 / 1 / 1
Регистрация: 09.10.2013
Сообщений: 44

Одно событие для группы textbox

06.02.2014, 21:09. Показов 4786. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! На форме у меня есть 10 textbox-тов в 8 из них нужно вводить только цифры. Суть вопроса такова как можно заметь создание для каждого отдельного textbox-са событие?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 private void textbox1_KeyPress(object sender,KeyPressEventArgs e)
{
if(!(Char.IsDigit(e.KeyChar)))
{
e.Handled=true;
}
}
 private void textbox2_KeyPress(object sender,KeyPressEventArgs e)
{
if(!(Char.IsDigit(e.KeyChar)))
{
e.Handled=true;
}
}
//и тд............
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.02.2014, 21:09
Ответы с готовыми решениями:

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

Подписать несколько TextBox на одно событие
Чтобы вводить в текстбокс тока цифры, добавил процедуру private void textBox1_KeyPress(object sender, KeyPressEventArgs e) Но у меня на...

Событие KeyPress у TextBox. Как сделать один формат для различных TextBox?
Есть много TextBox'ов, в которые нужно вводить только числа, и больше никаких символов. На просторах сайта нашел данный код который почти...

9
12 / 12 / 11
Регистрация: 05.01.2013
Сообщений: 53
06.02.2014, 21:17
Написать одну событийную функцию и подключить к ней 8 ваших текстбоксов
0
1 / 1 / 1
Регистрация: 09.10.2013
Сообщений: 44
07.02.2014, 10:13  [ТС]
Не могли бы вы написать примерный код? Буду благодарен!
0
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
07.02.2014, 10:40
Black_eagle, В свойствах TextBox'а отображает события (ТулБаттон с молнией), выбираете событие TextChanged одинарным кликом, раскрываете комбобокс, в котором меняется значение обработчика события и выбираете тот обрабочик из имеющихся, который вы хотите прицепить к этому событию.
1
129 / 31 / 3
Регистрация: 03.08.2010
Сообщений: 630
07.02.2014, 10:53
C#
1
2
3
4
TextBox1.Событие += EventFunc;
TextBox2.Событие += EventFunc;
...
TextBox8.Событие += EventFunc;
0
1 / 1 / 1
Регистрация: 09.10.2013
Сообщений: 44
07.02.2014, 11:43  [ТС]
Не понимаю зачем мне комбо бокс мне просто нужно сделать что бы пользователь не мог вводить в определенные тектбоксы буквы и символы. Я начинающий программист по этому строго не судите если некоторые вопросы Вам покажутся тупыми))))
0
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
07.02.2014, 12:04
Цитата Сообщение от Black_eagle Посмотреть сообщение
Я начинающий программист по этому строго не судите если некоторые вопросы Вам покажутся тупыми))))
Вы и сами все прекрасно понимаете. Попробую объяснить графически
Миниатюры
Одно событие для группы textbox  
1
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
07.02.2014, 12:05
Лучший ответ Сообщение было отмечено Black_eagle как решение

Решение

Black_eagle, просто все текстбоксы нужно подписать на одно событие
C#
1
2
3
4
5
6
7
8
9
10
11
12
//где-то в конструкторе после инициализации или в событии Load
textBox1.KeyPress += new EventHandler(textbox_KeyPress);
textBox2.KeyPress += new EventHandler(textbox_KeyPress);
textBox3.KeyPress += new EventHandler(textbox_KeyPress);
textBox4.KeyPress += new EventHandler(textbox_KeyPress);
 
 
//общее событие
void textbox_KeyPress(object sender,KeyPressEventArgs e)
        {
            e.Handled = !Char.IsDigit(e.KeyChar);
        }
при этом не нужно делать подписку на события через дизайнер.
Можно собственно и через дизайнер сделать подписку на событие, только не двойным кликом по боксу, а выбирая в списке событий
1
1 / 1 / 1
Регистрация: 09.10.2013
Сообщений: 44
07.02.2014, 14:20  [ТС]
Всем спасибо разобрался!
0
2 / 2 / 1
Регистрация: 29.12.2011
Сообщений: 39
12.02.2014, 01:55
Можно сделать так, ограничения на ввод цифр с возможностью разделителя:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
private void Form1_Load(object sender, EventArgs e)
        {
            foreach (TextBox tb in splitContainer1.Panel2.Controls.OfType<TextBox>())
            {
                tb.KeyPress += new KeyPressEventHandler(tb_KeyPress);
            }
        }
 
        void tb_KeyPress(object sender, KeyPressEventArgs e)
        {
            TextBox t = sender as TextBox;
            if (!(Char.IsDigit(e.KeyChar)) && !((e.KeyChar == ',') && (t.Text.IndexOf(",") == -1) && (t.Text.Length != 0)))
            {
                if (e.KeyChar != (char)Keys.Back)
                {
                    e.Handled = true;
                }
            }
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.02.2014, 01:55
Помогаю со студенческими работами здесь

Одно событие для многих элементов
Есть форма, на ней много элементов numericUpDown. Т.к изначально очистить numericUpDown нельзя, мне нужно, чтобы когда элемент становился...

Создать одно событие для нескольких кнопок
тема такая: пишу игру крестики-нолики. для всех кнопок событие одно и то же. можно как-то вызвать его в цикле или что-то типа того?

Как сделать одно событие для каждого элемента массива?
Здравствуйте. Есть массив с контролами. А как сделать чтобы при наведении мыши на контрол, который в массиве с ним что-то происходило? Для...

Событие для textBox
Доброго времени! Есть 4 текстбокса, стоят подряд друг за другом сверху вниз, суть такая, мне необходимо, при нажатии на очередной...

Одно контекстное меню для 5 textbox'ов
У меня 5 текстбоксов. Нужно для каждого текстбокса создать контекстное меню с одной кнопкой &quot;свернуть строки&quot;. Как это проще...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru