Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подконтрольное событие нажатия клавиш 
:(
    Опции темы
PZh
Дата 10.4.2012, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 19.5.2010

Репутация: нет
Всего: нет



Есть потребность буферизовать все нажатия клавиш, а затем выплевывать их, если надо, а если не надо - игнорировать.
Где та входная точка приложения? Свойство Handled в событии формы KeyDown не помогает.

Это сообщение отредактировал(а) PZh - 10.4.2012, 13:06
PM MAIL   Вверх
PZh
Дата 27.4.2012, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 19.5.2010

Репутация: нет
Всего: нет



Вопрос как бы актуален. Может я непонятно изъясняюсь?

Нужно чтобы все нажатия клавиш проходили проверку где нибудь в одном месте и далее, если все хорошо - приложение реагировало бы как обычно (печатаемые символы появлялись в TextBox'ах, по табу перескакивал бы фокус, по пробелу срабатывали бы фокусные Button'ы и прочие радости). А вот если все плохо, то этих нажатий как будто бы и не было.

Объясню необходимость. Устройство на котором работает ПО считывает штрихкоды и делает она это тупо - как будто это быстрое нажатие последовательности цифр плюс какие-то "закрывающие" символы. Решаю так - буферезирую все нажатия через KeyDown формы и затем, если они не уложились в некоторый параметр "чувствительности" сканера - то обрабатываю как простые нажатия, а если уложились - то это штрихкод.
И все, вообщем-то, работает, только вот TextBox'ы при такой схеме не убережешь и приходится организовывать чудовищно извратной комплекс мероприятий который приводит их в тот вид, в котором они находились до сканирования ШК. И это далеко не единственная проблема...

Так вот, если бы кто нибудь подсказал решение. Как я вижу решение - описал в вопросе.


PM MAIL   Вверх
Экскалупатор
Дата 27.4.2012, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 2
Всего: 24



устройство скорее всего имеет какой то интерфейс, который возвращает поток входных данных, сам сканер он же не нажмает кнопки, это устройство его так обрабатывает, может быть лучше читать поток используя какой то драйвер и порт устройства? на мой взгляд это было бы логичнее чем танцы с событиями формы
PM MAIL ICQ   Вверх
PZh
Дата 27.4.2012, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 19.5.2010

Репутация: нет
Всего: нет



Наверное да, только вот есть примеры аналогичной организации сканера на ПК от фирмы "АТОЛ", уж если они не сделали по человечески, то как это сделаю я?

С событиями формы мне кажется проще. Найти какой-то неведомый драйвер на машинку определенной модели, драйвер под определенную ось и чтобы он еще как-то (по API наверное) цеплялся к приложению на NET... 
Видится мне куда более сложным...
PM MAIL   Вверх
Экскалупатор
Дата 27.4.2012, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 2
Всего: 24



ну если устройство работают и данные приходят значит что драйвер уже есть и используется, осталось только выяснить API и использовать его, уверен что там будет все что нужно, даже проще будет читать данные оттуда чем мутить какие то сложные конструкции.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0678 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.