zoukankan      html  css  js  c++  java
  • TextBox禁止手动输入但是允许刷卡输入

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

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

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

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

    代码如下:

    代码
    private void timer1_Tick(object sender, EventArgs e)
    {
    if (textBoxX1.Text.Length != textBoxX1.MaxLength)
    {
    //每隔特定时间检查文本框内容长度是否等于最大长度
    timer1.Enabled = false;
    textBoxX1.Text
    = "";

    }
    }

    private void textBoxX1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
    {
    //在向文本框输入内容时,会先触发文本框的这个事件
    timer1.Enabled = true;
    }
  • 相关阅读:
    如何配置MySQL
    软件工程第三次作业
    软件工程第二次作业
    软件工程第一次作业
    Python 【面试总结】
    Vue【你知道吗?】
    Python 【面试强化宝典】
    Python 【基础面试题】
    Vue 【前端面试题】
    Redis 【常识与进阶】
  • 原文地址:https://www.cnblogs.com/ATually/p/1909477.html
Copyright © 2011-2022 走看看