Почему первый символ повторяется при чтении значения штрих-кода (несколько раз)
я пытаюсь прочитать значение штрих-кода с помощью этого кода :
DateTime _lastKeystroke = new DateTime(0); List<char> _barcode = new List<char>(10); private void Details_KeyPress(object sender, KeyPressEventArgs e) { // check timing (keystrokes within 100 ms) TimeSpan elapsed = (DateTime.Now - _lastKeystroke); if (elapsed.TotalMilliseconds > 100) _barcode.Clear(); // record keystroke & timestamp if (e.KeyChar != 13) { _barcode.Add(e.KeyChar); } _lastKeystroke = DateTime.Now; // process barcode if (e.KeyChar == 13 && _barcode.Count > 0) { BarcodeCheckedBTN.Checked = true; string code = new String(_barcode.ToArray()); _barcode.Clear(); AddNewRowWithCode(code); // MessageBox.Show(msg); _barcode.Clear(); BarcodeCheckedBTN.Checked = false; gridControl1.Focus(); } }
он работает первый и второй раз, но после этого повторяет первый символ ...
Что я уже пробовал:
я попробовал этот код, но та же проблема ..
protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { char c = (char)keyData; _Mybarcode += c; if (c == (char)Keys.Return) { AddNewRowWithCode(_Mybarcode); _Mybarcode = ""; } return base.ProcessCmdKey(ref msg, keyData); }
Gerry Schmitz
Это код, который "поставщик" предложил вам использовать? Я в это не верю.
Golden Basim
пожалуйста , что вы предлагаете ?