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里面设置数字的位数

你可能感兴趣的:(WinForm)