![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Artiom |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1031 Регистрация: 11.3.2003 Где: Минск\Баку Репутация: нет Всего: 17 |
какая-то мистика - не обрабатывается кнопка Delete!
Все остальные работают - а она нет
даже не попадаю в в ветку case Keys.Delete! В чем грабли? -------------------- Если тебя жизнь трахает, значит, ты ещё живой |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
У меня тоже какие-то непонятки всегда с несимвольными клавишами...
-------------------- ![]() |
|||
|
||||
| Gazon |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 9.1.2005 Репутация: 3 Всего: 8 |
все остальные работают, потому что эта вирт. ф-ия работает с символьными клавишами. Для перехвата нажатия delete отвечай на событие KeyDown или KeyUp. хороший пример по обработки нажатия клавишь и установки глобального хука. http://www.codeproject.com/csharp/globalhook.asp --------------------
Чем больше узнаешь, тем больше не знаешь, но до истины всегда можно добраться. |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Всё равно George Mamaladze не даёт ответа на животрепещущий вопрос: как правильно перехватывать клавиши из своего (чужого) контрола - по какому событию (KeyUp/KeyDown/KeyPress), и по каким свойствам event handler'ов (благо там есть выбор из KeyCode, KeyChar и т.п.) ?
-------------------- ![]() |
|||
|
||||
| -ser- |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 1.2.2005 Репутация: 5 Всего: 13 |
если контрол например текстбокс, то просто
a если, например, юзер контрол, то через ProcessDialogKey. вот вам для Delete:
и, как говорит mr.DUDA, будет вам счастье. да, чуть не забыл. кому и этого будет недостаточно, можно применить термоядерное решение, а именно PreProcessMessage, но это уже для гурманов
Это сообщение отредактировал(а) -ser- - 27.9.2005, 07:08 -------------------- "Тонкая, однако, работа." |
||||||
|
|||||||
| Artiom |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1031 Регистрация: 11.3.2003 Где: Минск\Баку Репутация: нет Всего: 17 |
Сделал так
Почему-то каждая ветка case выполняется 2 раза! В чем дело? Это сообщение отредактировал(а) Artiom - 27.9.2005, 09:47 -------------------- Если тебя жизнь трахает, значит, ты ещё живой |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Первый - нажатие, второй - отпускание клавиши. -------------------- ![]() |
|||
|
||||
| Artiom |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1031 Регистрация: 11.3.2003 Где: Минск\Баку Репутация: нет Всего: 17 |
Понятно, поставил if (msg.MSG==WM_KEYDOWN) и все заработало
-------------------- Если тебя жизнь трахает, значит, ты ещё живой |
|||
|
||||
| Artiom |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1031 Регистрация: 11.3.2003 Где: Минск\Баку Репутация: нет Всего: 17 |
и еще вопрос, при такой реализации почему-то работают только те кноки, которые я обрабатываю вручную. Как сделать так чтобы, например, кнопка Tab работала по дефолту?
-------------------- Если тебя жизнь трахает, значит, ты ещё живой |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Нужно вызывать base.PreProcessMessage.
-------------------- ![]() |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |