我已經使用文本框製作了Windows窗體應用程序。我將強制用戶使用條形碼掃描器,因此應禁用鍵盤輸入。 KeyPressed事件不起作用,因爲也禁止條形碼掃描器的輸入。Texbox輸入,禁用鍵盤,保持條形碼掃描器
我想也許我可以在TextChanged事件上設置一個計時器,但我真的不知道它是如何工作的。
有人一個好主意嗎?
我已經使用文本框製作了Windows窗體應用程序。我將強制用戶使用條形碼掃描器,因此應禁用鍵盤輸入。 KeyPressed事件不起作用,因爲也禁止條形碼掃描器的輸入。Texbox輸入,禁用鍵盤,保持條形碼掃描器
我想也許我可以在TextChanged事件上設置一個計時器,但我真的不知道它是如何工作的。
有人一個好主意嗎?
根據您的描述,我假設您的條碼掃描器是一款HID條碼掃描器。如果是這樣,這裏沒有簡單的答案,因爲條形碼掃描器的功能與鍵盤完全一樣。禁用鍵盤輸入將禁用條形碼掃描儀。
我以前做過這一點,有幾個解決方案,我所知道的:
但是,有一點需要注意:您可能根本不想禁用文本框。如果條碼損壞,掃描儀無法讀取,會怎麼樣?您始終希望用戶能夠手動輸入條形碼。下次您通過商店的收銀機時,請注意總有一種方法可以手動輸入條形碼。
謝謝你,另一個條碼掃描器不是一個選項。是否可以用計時器或其他東西?條形碼掃描儀的輸入比人工輸入快得多。 – Marten
這取決於條形碼掃描儀和人。我見過慢條碼掃描儀和快速人類。我建議避免基於時間的解決方案。最終,這裏的根本問題是條形碼掃描儀的界面很糟糕。他們假裝他們是鍵盤,並沒有提供有用的API來訪問它們。 –
您應該可以將文本框的啓用屬性設置爲false,然後使用條碼掃描器提供的任何API掛接到掃描事件並將文本框的值設置爲該掃描的結果。 –
希望它有幫助http://nicholas.piasecki.name/blog/2009/02/distinguishing-barcode-scanners-from-the-keyboard-in-winforms/ – Steve