TextBox禁止手动输入但是允许刷卡输入

摘要:
初步想法:是用TextBox.ReadOnly=true;但是这样连刷卡输入都会被禁掉第二种想法:判断是键盘输入还是用户刷卡但是怎么判断呢--键盘输入应该触发的是KeyDown事件之类的那刷卡呢结果也是触发的相同事件第三种想法——迂回:因为卡号是特定长度的刷卡在短时间内就能输入到特定长度而用户输入至少也要4s以上通过这个时间判断便可以分辨出来时手动输入还是刷卡输入我用了一个Timer控件经过调试其

初步想法:是用TextBox.ReadOnly=true;但是这样连刷卡输入都会被禁掉

第二种想法:判断是键盘输入还是用户刷卡 但是怎么判断呢 --键盘输入应该触发的是KeyDown事件之类的 那刷卡呢 结果也是触发的相同事件

第三种想法——迂回:因为卡号是特定长度的 刷卡在短时间内就能输入到特定长度 而用户输入至少也要4s以上 通过这个时间判断 便可以分辨出来时手动输入还是刷卡输入

我用了一个Timer控件 经过调试其属性Internal设置为200ms

代码如下:

TextBox禁止手动输入但是允许刷卡输入第1张TextBox禁止手动输入但是允许刷卡输入第2张代码
privatevoidtimer1_Tick(objectsender, EventArgs e)
{
if(textBoxX1.Text.Length !=textBoxX1.MaxLength)
{
//每隔特定时间检查文本框内容长度是否等于最大长度timer1.Enabled =false;
textBoxX1.Text
="";
}
}
privatevoidtextBoxX1_PreviewKeyDown(objectsender, PreviewKeyDownEventArgs e)
{
//在向文本框输入内容时,会先触发文本框的这个事件timer1.Enabled =true;
}

免责声明:文章转载自《TextBox禁止手动输入但是允许刷卡输入》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇logrotate日志不轮转呢?_新日志size0Pycharm2018中DataBase的使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

WPF 基础学习笔记

学习笔记: WPF中对于控件名字的命名,可在code中找到,例如如下:x:Name=“MassText” ... 如何获取WPF richTextBox的text?有别于winform,比较复杂。 string richText1 = new TextRange(RichTextBox1.Document.ContentStart, RichTextBo...

【转】文本框(Textbox)和下拉框(Combobox)自动联想功能的实现

看见一大侠介绍这种联想的效果,很棒! 怎样使自己程序中的文本框或下拉框具有像百度和Google那样的自动联想功能?微软的TextBox和Combobox控件为我们提供了简便方法。 首先需要学习TextBox(或Combobox)的两个属性,一个属性是AutoCompleteMode,指定控件中使用的自动完成功能的模式,有四种模式,分别是: None:禁用控...

HTML文本框样式大全

输入框景背景透明:<input style="background:transparent;border:1px solid #ffffff"> 鼠标划过输入框,输入框背景色变色:<INPUT value="Type here" NAME="user_pass" TYPE="text" SIZE="29" onmouseover="thi...

VS 对话框控件的Tab顺序问题

我们先来直观的看看各个控件的Tab顺序吧。打开“Resource View”视图,然后在资源中找到对话框IDD_ADDITION_DIALOG,双击ID后中间客户区域出现其模板视图。在主菜单中选择“Format”->"Tab Order"(VS 2010)或者VS 2012 C#中的“视图--Tab键顺序”,或者按快捷键Ctrl+D (在C#中无法使...

C#常用控件和属性

目录1、窗体(Form)2、Label (标签)控件3、TextBox(文本框)控件4、RichTextBox控件5、NumericUpDown控件6、Button(按钮)控件7、GroupBox(分组框)控件8、RadioButton(单选按钮)控件9、CheckBox(复选框)控件10、ListBox(列表框)控件11、ComboBox(组合框)控件1...

winform知识

控件相关 1.文本框/label高度 文本框Multiline属性,设为true就可以了。改完高度后再将此属性改回来,要不然多行文本框,按回去就去下一行了。 label的改autoSize属性,设为false就可以了。 2.控件中文字居中 TextAlign属性:MiddleCenter 3.颜色属性 直接输入 #xxxx 4.如何去掉button按钮的...