winForm 输入框不可手动输入,只能扫描枪输入
程序员文章站
2022-06-14 22:35:19
...
winForm 输入框不可手动输入,只能扫描枪输入的话,常规思路是串口扫描枪,但这个方式成本比较高
下面这个思路,逻辑就是通过判断TextBox中KeyDown事件和KeyUp事件,键盘按下和松开的这一过程的时间长短,来判断是手动输入还是扫描枪录入,代码如下
//定义时间变量
private DateTime _dt;
//KeyDown按钮事件,记录当前时间
private void txttm_KeyDown(object sender, KeyEventArgs e)
{
_dt = DateTime.Now;
}
//KeyUp事件中比较两次时间
private void txttm_KeyUp(object sender, KeyEventArgs e)
{
DateTime _tempDt = DateTime.Now;
TimeSpan ts = _tempDt.Subtract(_dt);
if (ts.Milliseconds > 100)
{
//setTool("错误:禁止手工输入!", "N");
txttm.Text = "";//清空
}
}