Как отключить сканер WT41N0, чтобы он не сканировал и не нарушал работу программы в C#.
Привет,
У меня есть приложение, которое работает на WT41N0. Это приложение имеет форму, которая принимает этикетку, отсканированную сканером в текстовом поле на событии keyDown.
private void txtBarCode_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter || e.KeyCode == Keys.Return) { string lstrBarCodeID = txtBarCode.Text.Trim(); } }
Проблема заключается в том, что когда у меня есть messagebox на экране, ожидающий ввода пользователя (Да/нет), и кто-то сканирует штрих-код, приложение выполняет действия над messagebox.
Я хочу, чтобы приложение не сканировало или не сканировало, но не позволяйте окну сообщения исчезнуть в результате. Когда пользователь использует приложение, не глядя на экран, он продолжает сканирование, не понимая, что на экране есть сообщение, и продолжает сканирование, приводящее к проблемам с операциями. Я просто хочу остановить приложение, чтобы выполнить любое действие, пока пользователь не выполнит действие над сообщением на экране.
Возможно, я упускаю какой-то трюк, поскольку я новичок в интерфейсном программировании с помощью C#.
Спасибо!
Что я уже пробовал:
Я попробовал несколько вещей, таких как:
1. Отключите текстовое поле, которое принимает сканированный штрих-код, и включите его, когда пользователь выбрал да или нет.
txtBarCode.Enabled = false;
2. Используйте библиотеки символов и отключите сканер. (Хотя мне и не разрешено их использовать, поэтому я должен найти решение без библиотеки символов)
private Symbol.Barcode.Reader myReader = null; myReader = new Symbol.Barcode.Reader();
Затем отключите сканер, когда появится окно сообщений:
myReader.Actions.Disable();
И то, и другое не сработало. Однако я не хочу использовать библиотеку символов, так как это запрещено в моей организации.
Обновление:
Я обнаружил, что сканер штрих-кода имеет "возврат каретки", установленный в конце, который удерживается во входном потоке и "срабатывает", когда я открываю окно сообщения, ведущее к закрытию MessageBox. Теперь вопрос в том, как мне преодолеть эту ситуацию. Когда на экране появляется окно сообщения или какая-либо ошибка, пользователь должен быть вынужден сначала подтвердить сообщение об ошибке/окно сообщения.