[ad_1]
バーコードスキャナ “データ ロジック スキャナー クイック スキャン qd2430 ” テキストボックスにフォーカスするとコードをテキスト形式で読み取りますが、使用するとコードを 10 進数 (3 桁) にデコードします evtKeyUpイベント
したがって、このコードを変換します。」33378755971180” に “051 051 051 055 056 055 053 053 057 055 049 049 056 048」
私が試したこと:
private string BarCode = ""; private void evtKeyUpEvent(object sender, KeyEventArgs e) { if (Keys.NumPad0 <= e.KeyCode && e.KeyCode <= Keys.NumPad9) { BuildBarCode((e.KeyCode - Keys.NumPad0).ToString()); } else if (Keys.D0 <= e.KeyCode && e.KeyCode <= Keys.D9) { BuildBarCode((e.KeyCode - Keys.D0).ToString()); } if (65 <= e.KeyValue && e.KeyValue <= 90) { BuildBarCode((e.KeyCode).ToString()); } else if (Keys.ShiftKey == e.KeyCode) { } else if (Keys.OemPeriod == e.KeyCode) { BuildBarCode("."); } else if (Keys.Multiply == e.KeyCode) { BuildBarCode("*"); } else if (Keys.Add == e.KeyCode) { BuildBarCode("+"); } else if (Keys.Separator == e.KeyCode) { BuildBarCode("|"); } else if (Keys.Subtract == e.KeyCode) { BuildBarCode("-"); } else if (Keys.Divide == e.KeyCode) { BuildBarCode("/"); } else if (Keys.OemBackslash == e.KeyCode) { BuildBarCode(@"\"); } else if (Keys.Separator == e.KeyCode) { BuildBarCode(","); } else if (Keys.OemMinus == e.KeyCode) { BuildBarCode("-"); } else if (Keys.Space == e.KeyCode) { BuildBarCode(" "); } else if (Keys.OemCloseBrackets == e.KeyCode) { BuildBarCode(")"); } else if (Keys.OemOpenBrackets == e.KeyCode) { BuildBarCode("("); } else if (Keys.Oemtilde == e.KeyCode) { BuildBarCode("~"); } else if (Keys.Oemcomma == e.KeyCode) { BuildBarCode(","); } else if (Keys.OemSemicolon == e.KeyCode) { BuildBarCode(";"); } else if (Keys.OemSemicolon == e.KeyCode) { BuildBarCode(";"); } else if (e.KeyCode == Keys.Enter || e.KeyCode == Keys.Return) { updateUIBarCode(BarCode); } } private void BuildBarCode(string value) { BarCode = string.Concat(BarCode, value); } public void updateUIBarCode(string i) { AddNewRowWithCode(i); }
解決策 1
バーコードリーダーはキーボードウェッジモードで動作しているようです。 これはキーボードをエミュレートすることを意味します。
まず、KeyUp イベントにバインドすることで、これを自分自身で困難にしています。 これが TextBox の場合は、Enter キーを押したときに Text プロパティを確認するだけで、そこにバーコードが含まれます。
KeyUp イベントを使用する必要がある場合は、enter キーのチェックを除く evtKeyUpEvent のコードの大部分を削除し、KeysConverter を使用して KeyCode から文字列に変換します。
[ad_2]
コメント