源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#中winform控制textbox输入只能为数字的方法

  • 时间:2021-05-14 09:17 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#中winform控制textbox输入只能为数字的方法
本文实例讲述了C#中winform控制textbox输入只能为数字的方法。分享给大家供大家参考。具体实现方法如下: 添加keyPress事件,控制键盘输入只能是自然数:
[u]复制代码[/u] 代码如下:
/// <summary> /// 控制键盘输入只能是自然数 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void textbox1_KeyPress(object sender, KeyPressEventArgs e) {   // 允许输入:数字、退格键(8)、全选(1)、复制(3)、粘贴(22)   if (!Char.IsDigit(e.KeyChar) && e.KeyChar != 8 &&   e.KeyChar != 1 && e.KeyChar != 3 && e.KeyChar != 22)   {     e.Handled = true;   } }
但是这样不能避免粘贴文字里含有非数字字符的情况,可以添加TextChanged事件进行控制:
[u]复制代码[/u] 代码如下:
/// <summary> /// 粘贴时过滤不是数字的字符 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void textbox1_TextChanged(object sender, EventArgs e) {   var reg = new Regex("^[0-9]*$");   var str = textbox1.Text.Trim();   var sb = new StringBuilder();   if (!reg.IsMatch(str))   {     for (int i = 0; i < str.Length; i++)     {       if (reg.IsMatch(str[i].ToString()))       {         sb.Append(str[i].ToString());       }     }     textbox1.Text = sb.ToString();     //定义输入焦点在最后一个字符     textbox1.SelectionStart = textbox1.Text.Length;   } }
希望本文所述对大家的C#程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部