zoukankan      html  css  js  c++  java
  • C#winform控制textbox输入只能为数字

    添加keyPress事件,控制键盘输入只能是自然数:

     1 /// <summary>
     2 /// 控制键盘输入只能是自然数
     3 /// </summary>
     4 /// <param name="sender"></param>
     5 /// <param name="e"></param>
     6 private void textbox1_KeyPress(object sender, KeyPressEventArgs e)
     7 {
     8   // 允许输入:数字、退格键(8)、全选(1)、复制(3)、粘贴(22)
     9   if (!Char.IsDigit(e.KeyChar) && e.KeyChar != 8 &&
    10   e.KeyChar != 1 && e.KeyChar != 3 && e.KeyChar != 22)
    11   {
    12     e.Handled = true;
    13   }
    14 }

    但是这样不能避免粘贴文字里含有非数字字符的情况,可以添加TextChanged事件进行控制:

     1 /// <summary>
     2 /// 粘贴时过滤不是数字的字符
     3 /// </summary>
     4 /// <param name="sender"></param>
     5 /// <param name="e"></param>
     6 private void textbox1_TextChanged(object sender, EventArgs e)
     7 {
     8   var reg = new Regex("^[0-9]*$");
     9   var str = textbox1.Text.Trim();
    10   var sb = new StringBuilder();
    11   if (!reg.IsMatch(str))
    12   {
    13     for (int i = 0; i < str.Length; i++)
    14     {
    15       if (reg.IsMatch(str[i].ToString()))
    16       {
    17         sb.Append(str[i].ToString());
    18       }
    19     }
    20     textbox1.Text = sb.ToString();
    21     //定义输入焦点在最后一个字符
    22     textbox1.SelectionStart = textbox1.Text.Length;
    23   }
    24 }
  • 相关阅读:
    123
    搭建https://github.com/vulhub/vulhub靶场_初稿
    【译】 渗透测试实战第三版(红队版)
    sqlmap
    fiddler一些高级用法
    安装django和selenium
    python中os模块
    python通过日志分析加入黑名单
    python简单的购物系统
    python文件操作
  • 原文地址:https://www.cnblogs.com/makesense/p/3640703.html
Copyright © 2011-2022 走看看