Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/63: Рейтинг темы: голосов - 63, средняя оценка - 4.62
 Аватар для Неумейка
12 / 11 / 4
Регистрация: 14.02.2009
Сообщений: 89

Как определить нажатие стрелок?

19.02.2009, 12:47. Показов 12381. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, написал код:
C#
1
2
3
4
5
6
7
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
            if (e.KeyChar == (char)Keys.Left)
            {
               //код
            }
}
Он почему-то не работает , при этом если заменить Keys.Left на Keys.R то при нажатии на R все ок! В чем проблема?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.02.2009, 12:47
Ответы с готовыми решениями:

Не обрабатывается нажатие кнопок (стрелок) на клавиатуре
Нашел в интернете код для обработки нажатия стрелок на клавиатуре, но он работает только если на форме нету кнопок и текстбоксов. Иначе при...

Как определить нажатие правого, левого Shift; Cntr, Caps Lock.?
как определить нажатие правого, левого Shift; Ctrl, Caps Lock...?

DevExpress, как отловить нажатие на Band и при этом определить на какой именно
В DevExpress'овском GridControl можно создавать разные типы GridView. Я создал BandedGridView. Там несколько столбцов объединены под один...

7
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
19.02.2009, 13:10
В KeyChar нельзя определить стрелки. Из MSDN:
Code
1
2
3
4
5
6
7
8
9
You cannot get or set the following keys: 
The TAB key.
INSERT and DELETE.
HOME.
END.
PAGE UP and PAGE DOWN.
F1-F2.
ALT.
Arrow keys.
Используйте событие KeyUp и KeyEventArgs.KeyCode
1
 Аватар для Неумейка
12 / 11 / 4
Регистрация: 14.02.2009
Сообщений: 89
19.02.2009, 16:03  [ТС]
Green, Спасибо!, вот только как реализовать тоже самое только для KeyDown? у меня не получилось, и еще как использовать автоповтор при зажатой клавище?
0
Комбайнёр
 Аватар для MAcK
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
19.02.2009, 16:21
вот только как реализовать тоже самое только для KeyDown?
также само.

у меня не получилось, и еще как использовать автоповтор при зажатой клавище?
делаешь глобальную переменную и при keyDown ставишь тру, запусаешь цикл пока переменная = тру

в keyUp этой переменной присваиваешь фалсе
1
 Аватар для Неумейка
12 / 11 / 4
Регистрация: 14.02.2009
Сообщений: 89
19.02.2009, 17:25  [ТС]
Цитата Сообщение от IT-Skyline Посмотреть сообщение
Цитата:


вот только как реализовать тоже самое только для KeyDown?


также само.
Пишу код:
C#
1
2
3
4
5
6
7
private void Form1_KeyUp(object sender, KeyEventArgs e)
{
     if (e.KeyCode == Keys.Right)
     {
       //код
      }
}
все работает

Пишу код:
C#
1
2
3
4
5
6
7
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
     if (e.KeyCode == Keys.Right)
     {
       //код
      }
}
Не работает
В чем подвох?
0
Комбайнёр
 Аватар для MAcK
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
19.02.2009, 17:33
Всё работает, только сделай все компоненты на форме неактивными
Лучше скажи что хочешь сделать!
0
 Аватар для Неумейка
12 / 11 / 4
Регистрация: 14.02.2009
Сообщений: 89
19.02.2009, 17:43  [ТС]
Цитата Сообщение от IT-Skyline Посмотреть сообщение
Всё работает, только сделай все компоненты на форме неактивными
одну единственную кнопку на форме поставил в Enabel=false и заработало, но ведь это не выход

Цитата Сообщение от IT-Skyline Посмотреть сообщение
Лучше скажи что хочешь сделать!
Тетрис
0
Комбайнёр
 Аватар для MAcK
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
19.02.2009, 17:55
Есть у меня комопнентик с кодепроджекта, он ставит глобальные хуки, завтра скину.
А ты пока попробуй поставить нажатие клавишь на все компоненты, в которых нужно отлавливать смобытие кейдаун. То есть кнопке тоже пропиши кейдаун указав функцию Form1_KeyDown
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.02.2009, 17:55
Помогаю со студенческими работами здесь

Отловить нажатие стрелок и другое.
Здравствуйте. Хочу сделать игру "танчики", столкнулся с проблемой. На форумах вычитал, что такой код private void...

Как отловить нажатие стрелок в Control?
Создаю свой класс, наследую его от Control Добавляю обработчик для многих клавиш, в т.ч. и стрелки на нажатие кнопок Enter или +...

Как отловить нажатие клавиш-стрелок без сторонних библиотек?
Всем привет! Подскажите, пожалуйста, как ловить нажатие клавиш-стрелок? Без использования сторонних библиотек (типа pygame)

Как заставить Check и Radio кнопки обрабатывать нажатие стрелок на клавиатуре
На диалоговом окне размещены несколько стандартных элементов: Edit, Check и Radio Button. Хотелось бы, чтоб при нажатии стрелок вверх и...

Нажатие стрелок
Всем доброго время суток. Хочу сделать переход по страницам PageControl'a при нажатие на стрелки. Вправо у меня код срабатывает,а влево...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
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/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru