シナリオはそのようなものです。
キーボードでユーザーから入力を受け取るには、テキストボックスを無効にする必要があります。ただし、テキストボックスは、バーコードリーダーなどのデバイスを使用して入力を受け取る必要があります。タイマーを保持して、2 つのキーストローク間のタイムスパンを取ることを考えました (まだ明確ではありません)。しかし、そのためのプロパティまたはよりスマートなアルゴリズムがあるのではないでしょうか?
ps Windowsフォームアプリケーションです。
通常はキーボードをエミュレートするバーコード リーダーをサポートする必要があるとのことでした。したがって、キーボードからの入力とバーコード リーダーからの入力をプログラムで区別する簡単な方法はおそらくないでしょう。
タイミングの使用に関するあなたのアイデアは良いものですが、私は少し違うことをします. Timer
に aを追加しForm
、最初の文字が に入力されたときに開始しTextBox
ます。タイマーは非常に短い時間間隔に設定し、自動再起動を無効にする必要があります。タイマーが切れたら、TextBox
に有効なバーコードがあるかどうかを確認し、有効な場合は処理します。いずれにせよ、後でテキスト ボックスをクリアします。
キーボードを使用しようとすると、入力したテキストが単に消えてしまうように見えますが、バーコード スキャナー (非常に高速に「入力」します) は引き続き機能します。
たぶん、「キーボード プレス」イベントを追跡する必要がありますか? 何かを自動的に貼り付けると、「キーボードを押す」イベントがトリガーされるとは思いません。