私はこのようなバーコードを送信しているスキャナで作業しています: "¬00111111111112222222"は、USBキーボードのような押されたキーとして。私がしなければならないことは、接頭辞 "¬"を取得するたびにTextBoxにフォーカスを設定することです。特殊文字を比較する方法
問題は今、私のKeyDownイベントの中で、KeyEventArgsが私の接頭辞からの文字ではなく "System"であることです。フォーカスを設定するためにこの記号を比較する方法はありますか?
私が試したコードは次のとおりです。
private void KeyDownEvent(object sender, KeyEventArgs e)
{
if (Convert.ToString(e.Key) == "¬")
{
myTextBox.Focus();
}
}
アップデート: 私は今e.SystemKeyを試してみましたが、この時点で、私はイベントの引数としてLeftAltを取得します。だから多分AISCIIコードはこのSystemKey LeftAltに変換されますか?
更新: バーコードをスキャンしたときに取得したすべてのキーがログに記録されていましたが、私が思ったようにASCIIコード自体が得られないことに気付きました。私が得意とするのは、このシンボルを "Alt + NumPad0 + NumPad7 + NumPad2"のようにするためのキーコンビネーションですので、 "¬" SymbolのASCIIコードと一致させるだけで済みます。すべての助けをありがとう。
「KeyInterop.VirtualKeyFromKey(e.Key);」はどうですか? – Majestic
空ではありません – Teroman
スキャナがKeyDownイベントを正確に返していますか?通常、KeyEventArgsには、押されたキーの詳細が含まれている必要があります。 KeyDownイベントはどのようなトリガーもなしにどのように起動できますか?文字列全体や何かを得る方法はありますか? – ViVi