磁気カードリーダーから変数への入力をキャッチします
-
29-10-2019 - |
質問
磁気カードリーダーの入力をキャッチする方法を見つけることができないようです。スワイプすると、入力はメモ帳のようにアクティブなテキストエディターに入ります。
残念ながら、テキストボックスフィールドに焦点を当てることは、テキストボックスの代わりにラベルにする必要があるため、トリックを行いません。したがって、代わりにUSBデバイスから変数またはラベルへの入力をキャッチする方法が必要です。
誰かが私がこれを行うために使用できる.NETクラスやより良いアイデアを知っていますか?
解決
とにかく、ユーザーが手動入力を防ぐことはないと思います。カードリーダーは、キーボードをエミュレートしたと思われます。したがって、読者から読むことができるようにするには、キーボード入力を受信する必要があり、キーボード入力はユーザーが好きなものを入力できることを意味します。
考えられる解決策は、カードの読み取りを使用してカードから読み取るカードリーダーに変更することです。
より良いカードリーダーを取得することがオプションでない場合、これを行うための最良の方法はボタンを確保することだと思います。ボタンがクリックされたら、提供されたコード@bala Rを含む新しいフォームを開きます。ただし、最初のキー入力から1秒以内にフォームを閉じます。これにより、ユーザーは入力を手動で改ざんすることができなくなりますが、読者が完了するのに十分な時間を提供します。
他のヒント
Winformsアプリの場合、できることです
private void Form1_Load(object sender, EventArgs e)
{
KeyPreview = true;
KeyPress += Form1_KeyPress;
}
private bool inputToLabel = true;
void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (inputToLabel)
{
label1.Text = label1.Text + e.KeyChar;
e.Handled = true;
}
else
{
e.Handled = false;
}
}
また、ウィンドウに焦点が合っている限り、キープレス文字はラベルのテキストに移動します。
所属していません StackOverflow