WPF输入框如何做到不允许手动输入,只能通过扫码器扫码输入???
首先前台在输入框新建事件KeyDown和KeyUp
<PasswordBox
Name="txtName"
Width="160"
Height="30"
FontSize="13"
KeyDown="TxtName_KeyDown"
KeyUp="TxtName_KeyUp"
TabIndex="0"
Password="" />
后台代码中,声明时间变量 DateTime _dt = DateTime.Now;
在KeyDown事件中
private void TxtName_KeyDown(object sender, KeyEventArgs e)
{
_dt = System.DateTime.Now;
}
在KeyUp事件中
private void TxtName_KeyUp(object sender, KeyEventArgs e)
{
DateTime _tempDt = System.DateTime.Now;
TimeSpan ts = _tempDt.Subtract(_dt);
if (ts.Milliseconds > 50)
{
MainApp._MessageDialog.Show("禁止手输");
txtName.Password = "";//清空
return;
}
if (e.Key == Key.Enter)
{
LoginValidate();
}
}
其中50的单位为毫秒
大功告成!!!!!!!!!!!!!!!!!!!!