界面仅允许扫码枪录入禁止手工键盘输入
生活随笔
收集整理的這篇文章主要介紹了
界面仅允许扫码枪录入禁止手工键盘输入
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
由于掃碼槍和鍵盤都屬于外設,對于應用程序來說,無法判斷輸入源。
可間接的通過按鍵時間來判斷。
掃碼槍速度大概在0-50ms之間,平均在8ms左右,手動輸入在100-200之間,除非特地快速輸入可達到30幾ms。
我們取個適中的時間:50ms,若按鍵keydown-->keyup時間超過50ms則清空當前文本框
DateTime dStart; DateTime dEnd; private void textBox1_KeyDown(object sender, KeyEventArgs e) {dStart = DateTime.Now; }private void textBox1_KeyUp(object sender, KeyEventArgs e) {dEnd = DateTime.Now;if ((dEnd - dStart).TotalMilliseconds > 50) { textBox1.Clear(); } }當然我們還可以通過判斷兩次按鍵輸入間隔來判斷,兩次keydown間隔>50ms就清空(回車/tab除外) 大家自行考慮下代碼如何寫哈~
總結
以上是生活随笔為你收集整理的界面仅允许扫码枪录入禁止手工键盘输入的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单点登录SSO
- 下一篇: 【Python】根据多个列同时进行多条件