我正在使用這樣的掃描器發送條形碼:「¬00111111111112222222」與按鍵一樣,例如USB鍵盤。我需要做的就是每當我得到前綴「¬」時,將焦點設置在TextBox上。一種比較特殊字符的方法
現在的問題是,在我的KeyDown事件中,KeyEventArgs是「系統」而不是我的前綴中的字符。有沒有辦法比較這個標誌來設置焦點?
我試過的代碼是:
private void KeyDownEvent(object sender, KeyEventArgs e)
{
if (Convert.ToString(e.Key) == "¬")
{
myTextBox.Focus();
}
}
更新: 我試過e.SystemKey現在,在這一點上,我得到左Alt作爲事件的說法。所以也許AISCII代碼轉換爲這個SystemKey LeftAlt?
更新: 我記錄了掃描條形碼時得到的所有密鑰,並注意到我沒有像我想的那樣獲取ASCII碼。我得到的是使這個符號成爲「Alt + NumPad0 + NumPad7 + NumPad2」的關鍵組合,所以現在我只需要將它們與來自「¬」符號的ASCII代碼相匹配,然後它就可以工作。感謝所有的幫助..
KeyInterop.VirtualKeyFromKey(e.Key)怎麼辦? – Majestic
不,它保持爲空 – Teroman
您確定您的掃描儀正在返回KeyDown事件嗎?通常情況下,KeyEventArgs e應該包含所按鍵的細節。 KeyDown事件如何在沒有任何觸發的情況下觸發?有什麼方法可以得到整個字符串或什麼? – ViVi