| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Управление с клавиатуры ? |
| Автор: Miller_time 16.11.2006, 10:52 | ||
Хочется сделать что при нажатии на клавишу проиходило какоето дествие. Может код не верен ? Заранее спасибо! |
| Автор: mr.DUDA 16.11.2006, 11:41 |
| 1) Полный код в студию. 2) Обрабатывать надо событие KeyDown, если у нас контрол или форма, и сравнивать e.KeyCode с Keys.T и так далее. |
| Автор: Miller_time 16.11.2006, 12:09 |
| Это и есть весь код |
| Автор: HalkaR 16.11.2006, 13:21 | ||
Miller_time, обработчик KeyDown ставь в форме и у формы выставляй KeyPreweiv = true.
|
| Автор: Miller_time 17.11.2006, 09:20 | ||
Пробовал сделать выше перечисленно
Поставил в цикл, но все равно данный код не закрывает приложение, Что я не так сделал. Код расположил в нутри public partial class Form1 : Form |
| Автор: Softaz 17.11.2006, 09:51 | ||||
| Miller_time, запомни: если тебе надо закрыть форму по нажатию на кнопку, создавай тему типа "как закрыть форму, если нажата Esc", а не "Управление с клавиатуры" (непонятно как - может это у тебя резидентная программа без формы) Поставь на форму кнопку типа "Закрыть"
В пропертях формы укажи
|
| Автор: mr.DUDA 17.11.2006, 10:01 |
убери цикл |
| Автор: Miller_time 17.11.2006, 10:02 |
| Нет мне не нужна что бы моя программа закрывалсь, просто выше представлен пример я через него и опиываю ! Так у меня тоже закрывается. Мне нужна что скажем при нажатии на клавишу w изменялиь координаты картинки. |
| Автор: Miller_time 17.11.2006, 10:42 |
| Убрал цикл все ранво не помогло private void form_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.W) { pictureBox1.Left += 10; } } Картинка не двигается и все . |
| Автор: HalkaR 17.11.2006, 11:22 |
| Miller_time, form.Invalidate() попробуй чтоли. |
| Автор: mr.DUDA 17.11.2006, 11:36 |
| Чтоб форма обрабатывала клавиатурные сообщения (независимо от того, есть вложенные контролы или нет), нужно у формы выставить свойство KeyPreview=true Добавлено @ 11:37 HalkaR же об этом говорил |
| Автор: _Equilibrium_ 17.11.2006, 11:48 | ||
Лол.. |
| Автор: Miller_time 17.11.2006, 12:53 |
| Сделал все как сказанно, но не в какую не реагирует на клавиатуру. |
| Автор: HalkaR 17.11.2006, 12:59 |
| Miller_time, form_keydown вообще срабатывает? |
| Автор: _Equilibrium_ 17.11.2006, 13:09 |
| Хм... а ты этот код просто копипастишь в form.cs или вс0 же подписываешься на событие? |
| Автор: Miller_time 17.11.2006, 20:13 |
| Хм. не поянл тебя изменил еа форме тот параметр. И скопировал предоставленый до этого код ? А что не так ? Можна пример сделай плиз если не трудна. |
| Автор: _Equilibrium_ 18.11.2006, 10:24 | ||||||
| Заходишь в студию, создаешь новый проект... кидаешь на форму pictureBox, картинку вставь какую-нибудь. Потом выбираешь форму. Там где у тебя properties, т.е. где свойства формы, есть кнопка с "Молнией" называется "Events", жмешь на нее и там в списке выбираешь KeyDown, щелкаешь мышью два раза... появляется окно редактирования кода... там где курсор мигает, вставляешь это:
Над строчкой:
вставляешь:
Надеюсь я првильно понял, что ты не понял... |