Golden Basim Ответов: 0

Почему первый символ повторяется при чтении значения штрих-кода (несколько раз)


я пытаюсь прочитать значение штрих-кода с помощью этого кода :

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

пожалуйста , что вы предлагаете ?

0 Ответов