vivek2414 Ответов: 0

Как отключить сканер 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. Теперь вопрос в том, как мне преодолеть эту ситуацию. Когда на экране появляется окно сообщения или какая-либо ошибка, пользователь должен быть вынужден сначала подтвердить сообщение об ошибке/окно сообщения.

0 Ответов