在TextEdit里 找到 Mask属性
代码设置:
MaskType="RegEx" UseMaskAsDisplayFormat="True" Mask="[0-9]*" //这个是允许文本框输入数字(整数),比如22222222222
MaskType="RegEx" UseMaskAsDisplayFormat="True" Mask="([0-9]{1,}[.][0-9]*)" //这个是允许文本框输入数字,比如22,356.1,78.01
正则表达式: [0-9]* 代表可以输入整数
正则表达式:([0-9]{1,}[.][0-9]*) 代表可以输入数字,包括整数和小数
设置器里设置:
上面是介绍是让textEdit只能输入正整数,接下来介绍让textEdit,textBox等只能输入正数,这个是允许输入小数点的,比如23.1 2.66
#region 控制textBox1只能输入正数(包括小数)
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (((int)e.KeyChar < 48 || (int)e.KeyChar > 57) && (int)e.KeyChar != 8 && (int)e.KeyChar != 46)
e.Handled = true;
//小数点的处理。
if ((int)e.KeyChar == 46) //小数点
{
if (textBox1.Text.Length <= 0)
e.Handled = true; //小数点不能在第一位
else
{
float f;
float oldf;
bool b1 = false, b2 = false;
b1 = float.TryParse(textBox1.Text, out oldf);
b2 = float.TryParse(textBox1.Text + e.KeyChar.ToString(), out f);
if (b2 == false)
{
if (b1 == true)
e.Handled = true;
else
e.Handled = false;
}
}
}
}
#endregion