由于扫码枪和键盘都属于外设,对于应用程序来说,无法判断输入源。
可间接的通过按键时间来判断。
扫码枪速度大概在0-50ms之间,平均在8ms左右,手动输入在100-200之间,除非特地快速输入可达到30几ms。
我们取个适中的时间:50ms
DateTime dt = new DateTime(); private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if ((DateTime.Now - dt).Milliseconds > 100) { textBox1.Text = ""; } dt = DateTime.Now; }