Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
6 / 4 / 3
Регистрация: 28.10.2014
Сообщений: 149

Как сделать чтобы конопка работала не только по клику , но и по нажатию

10.11.2018, 15:34. Показов 1584. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Есть метод
C#
1
 private void buttonOK_Click(object sender, EventArgs e)
которые запускает действия по клику на кнопку
И я хочу , чтобы эти же действия выполнялись по нажатию на клавишу . Пробовал много способов, но почему -то не работает
Последнее что пришло в голову
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
        private void KeyEnter(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
                buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
        }

так же читал тут http://www.sql.ru/forum/880677... -na-knopku , но не помогло(
Подскажите ,пожалуйста, как это можно сделать?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.11.2018, 15:34
Ответы с готовыми решениями:

Как сделать, чтобы в textbox вводились только цифры и при этом работала клавиша backspace?
1. Как сделать, чтобы в textbox вводились только цифры и при этом работала клавиша backspace? Делаю так: private void...

Сделать, чтобы button работала только один раз
Можно ли как-то сделать, чтобы я нажимал кнопку, действия происходили, и при последующем нажатии на кнопку действия эти уже не происходили,...

Как сделать так, чтобы по нажатию кнопки открывалась только одна форма?
Ситуация такова, что есть 20 различных элементов toolStripMenuItem, по нажатию каждого из которых открывается своя форма со своим событием....

5
 Аватар для ashsvis
923 / 503 / 202
Регистрация: 08.10.2018
Сообщений: 1,553
Записей в блоге: 11
10.11.2018, 15:43
yuriybolotin99, на кнопке будет работать событие Click при нажатии клавиш Space и Enter, только если кнопка находится в фокусе ввода. Если нужно передавать фокус ввода программно, используйте метод buttonOK.Focus()
1
6 / 4 / 3
Регистрация: 28.10.2014
Сообщений: 149
10.11.2018, 16:21  [ТС]
ashsvis, добавил в файл дизайнера
C#
1
 this.buttonOK.Focus();
, однако не помогло (
0
 Аватар для ashsvis
923 / 503 / 202
Регистрация: 08.10.2018
Сообщений: 1,553
Записей в блоге: 11
10.11.2018, 16:36
Лучший ответ Сообщение было отмечено yuriybolotin99 как решение

Решение

yuriybolotin99, что-то я затупил...
У нас кнопка buttonOK - это кнопка в окне какого-то диалогового окна и вы хотите, чтобы
окно это закрывалось не только при нажатии на кнопку buttonOK мышкой, но и при нажатии на Enter?

Если это так, то, во-первых, у кнопки buttonOK должно быть указано значение её свойства
buttonOK.DialogResult = DialogResult.OK, а во-вторых у самой формы должно быть определено свойство
form1.AcceptButton = buttonOK;
1
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
10.11.2018, 17:25
Если нужно, чтобы одно и то же действие выполнялось в разных местах, то это действие следует вынести в отдельный метод и вызывать из разных мест.
И если нужно реагировать на нажатия клавиш, то в форме можно установить свойство KeyPreview в значение true и обрабатывать всё в OnPreviewKeyDown:
C#
1
2
3
4
5
protected override void OnPreviewKeyDown(PreviewKeyDownEventArgs e)
{
    base.OnPreviewKeyDown(e);
    //Обработка нажатий клавиш в пределах формы вне зависимости от активного контрола
}
1
6 / 4 / 3
Регистрация: 28.10.2014
Сообщений: 149
10.11.2018, 21:54  [ТС]
ashsvis, вы правы. AcceptButton , но я не использую DialogResult.OK потому что у меня при нажатии на кнопку должно закрываться окно , но не всегда ,а при условии ,поэтому DialogResult.OK выполняется по условию, а по дефолту none
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.11.2018, 21:54
Помогаю со студенческими работами здесь

Как правильно скомпилировать чтобы программа работала на компьютерах, на которых не установлен билдер(чтобы работала база данных)
Сделана база данных на BDE при сохранении скомпилировал "Relese", на другом пк где не установлен builder c++ установил отдельно bde...

Как сделать чтобы виртуализация работала?
В биосе включил виртуализацию. Но в Speccy все равно показывает что виртуализация выключена. Из за этого не могу запустить...

как сделать чтобы работала в авторане
Set S = CreateObject("Wscript.Shell") do execute"S.Run ""%comspec% /c "" & Chr(7), 0,True" loop чтобы при перезагрузки компа...

Как сделать чтобы работала библиотека <graphics.h>
Неужели никак нельзя сделать что бы эта библиотека работала? Если да, то напишите инструкцию как это сделать. C++ Builder 6

Как сделать чтобы программа работала на всех ПК
Я написал программу. Что нужно сделать чтобы она запускалась на всех ПК с ОС Windows XP. Спасибо


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru