C# motorola использует datawedge только в текстовых полях
Я использую datawedge для сканирования штрих-кодов в моем приложении для Windows Mobile C#.net cf, которое работает довольно хорошо.
Я использую Motorola ES 400 для моего программного обеспечения.
Но у меня есть проблема, что datawedge работает "везде": в текстовых полях, а также на кнопках, списках,...
После штрих-кода он также отправляет клавишу возврата, и это вызывает кнопку, если она сфокусирована.
Могу ли я настроить datawedge, чтобы он больше не отправлял возврат в конце?
Я не хочу ловить все возвраты, эта кнопка все еще должна работать!
Вторая возможность: если это не сработает, как я могу поймать кнопку со штрих-кодом на моем es400 (и получить сфокусированное управление в этом случае?)
http://cdn-static.zdnet.com/i/story/30/40/089277/motorola_es400_6.jpg (право на зеленую кнопку вызова)
1 ответ
Вы должны начать использовать Motorola SDK (или MDK, или как они его называют).
SDK имеет функции для управления сканером и получения события, когда штрих-код был отсканирован. Это решит все ваши проблемы, выяснив, как маршрутизировать данные, поступающие через эмуляцию клавиатуры DataWedge.
Если вы все еще хотите использовать DataWedge, вы должны установить для Form.KeyPreview значение True и настроить datawedge на использование преамбулы, чтобы отличать данные штрих-кода от введенных данных. Затем в событии KeyPress/KeyUp или / и KeyDown формы проверьте входящие данные и поместите их во входные данные сканирования там, где они вам нужны.
Но я настоятельно рекомендую использовать Motorola SDK.