Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
338 / 327 / 154
Регистрация: 29.10.2012
Сообщений: 949
1

Запустить обработку событий как только пользователь нажал Enter

07.09.2013, 20:55. Показов 1613. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
На форме есть много контролов, как отловить тот момент когда пользователь нажал Enter в любом из контролов? Можно конечно обрабатывать каждый контрол отдельно - например событие KeyPress, но их больше 20, слишком много "пустого" кода, как мне кажется.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.09.2013, 20:55
Ответы с готовыми решениями:

Как на время запретить обработку событий от элемента формы
Уважаемые gurus! На форме дерево с checkboxs. Задача: при изменении состояния checkbox узла -...

Как отследить в Edit, что пользователь нажал Enter?
Господа извеняюсь за такой наивный вопрос , но что то совсем не получается сделать . Как отследить...

Как узнать, на какую кнопку нажал пользователь?
Есть некая база данных с которой считываем вопрос и ответы к нему printf("<h3>Вопрос: ...

Как определить что пользователь нажал на сообщение (ShowBalloonTip) ?
Как определить что пользователь нажал на сообщение (ShowBalloonTip) ? Пример сообщения : ...

6
)))
610 / 423 / 55
Регистрация: 31.12.2009
Сообщений: 2,334
Записей в блоге: 3
07.09.2013, 21:01 2
Цитата Сообщение от kmaffa Посмотреть сообщение
На форме есть много контролов, как отловить тот момент когда пользователь нажал Enter в любом из контролов
если они все одинаковые, то повесить на них всех один обработчик, как здесь:Алгоритм пятнашек
1
338 / 327 / 154
Регистрация: 29.10.2012
Сообщений: 949
07.09.2013, 21:09  [ТС] 3
Это придется все контролы ручками перебирать, есть вероятность пропустить какой либо контрол.
0
)))
610 / 423 / 55
Регистрация: 31.12.2009
Сообщений: 2,334
Записей в блоге: 3
07.09.2013, 21:23 4
Цитата Сообщение от kmaffa Посмотреть сообщение
Это придется все контролы ручками перебирать
сделай перебор через цикл foreach, тогда не пропустишь...
0
Эксперт .NET
17688 / 12873 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
08.09.2013, 18:52 5
Установите свойство формы KeyPreview на True и переопределите метод OnKeyDown:
C#
1
2
3
4
5
6
7
protected override void OnKeyDown(KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
        MessageBox.Show("Enter has been pressed!");
    else
        base.OnKeyDown(e);
}
Работать не будет, если фокус в момент нажатия клавиши находится на какой-нибудь кнопке.
Тут можно добавить кнопке обработчик события PreviewKeyDown и в нем прописать e.IsInputKey = true.
Если кнопок много, то можно унаследовать от кнопки свой класс и там переопределить метод OnPreviewKeyDown с тем же кодом.
1
15 / 15 / 8
Регистрация: 14.06.2012
Сообщений: 33
09.09.2013, 14:25 6
Думаю, на форме для начала процесса обработки данных есть какая-то кнопка?
В свойствах формы AcceptButton указать ту самую кнопку.
0
338 / 327 / 154
Регистрация: 29.10.2012
Сообщений: 949
09.09.2013, 16:08  [ТС] 7
Цитата Сообщение от naked.gen Посмотреть сообщение
Думаю, на форме для начала процесса обработки данных есть какая-то кнопка?
В свойствах формы AcceptButton указать ту самую кнопку.
В том то и дело, что не планировалось никакой кнопки, так сказать "живое заполнение". Это скорее всего не рационально и "экономически не целесообразно", но - красиво.
0
09.09.2013, 16:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.09.2013, 16:08
Помогаю со студенческими работами здесь

Как узнать, когда пользователь нажал на левую клавишу мыши?
Пишу программу автокликер.Мне надо узнать когда пользователь нажал на левую клавишу мыши. Как это...

Как получить 'ответ' формы - что нажал пользователь Ок - Cancel?
у меня такой вопросик запуская форму Form.Show vbModal Как получить 'ответ' формы - что нажал...

Как обработать сообщение, что пользователь нажал на цифровую клавишу?
К примеру приходит сообщение что пользователь нажал на клавишу и она оказалась цифрой , например 1...

Как продолжить выполнение скрипта PHP если пользователь нажал кнопку отмены в браузере?
Доброго времени суток. У меня такой вопрос, как продолжить выполнение скрипта PHP если...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru