C# Winform 用正则让文本框只能输入数字及格式化文本内容

1.用正则表达式让文本框只能输入数字

先导入 using System.Text.RegularExpressions;

在文本框的KeyPress事件下加入一下代码

第一种方法

 if (!Char.IsNumber(e.KeyChar))
            {
                e.Handled = true;
            }

或者

if ((e.KeyChar >= '0' && e.KeyChar <= '9') || ((Keys)e.KeyChar == Keys.Back))
{
e.Handled = false;
}
else
{
e.Handled = true;
}

 

 

第二种方法

if ((Convert.ToInt32(e.KeyChar) ==8))
{
e.Handled
=false;
}
else
{
Regex regex
=new Regex(@"^(-?[0-9]*[.]*[0-9]*)$");
Match result
= regex.Match(Convert.ToString(e.KeyChar));
if(result.Success)
{
e.Handled
=false;
}
else
{
e.Handled
=true;
}
}

2.格式化文本框里面的数字(12位数字补0)

int num = Convert.ToInt32(this.TextBox1.Text);
string result = string.Format("{0:000000000000}", num);//在Format里面设置数字的位数

posted on 2011-08-14 23:39  空白画映  阅读(3619)  评论(0编辑  收藏  举报

导航