正则表达式。
if(System.Text.RegularExpressions.Regex.IsMatch(this.TextBox1.Text,"\\d\\.{0,1}\\d"))
{
//通过验证
}
else
{
//输入有错误
}
if(System.Text.RegularExpressions.Regex.IsMatch(this.TextBox1.Text,"\\d\\.{0,1}\\d"))
{
//通过验证
}
else
{
//输入有错误
}
bool is非数字 = false;
//只能输入数字
private void txtGoodsPrice_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
((TextBox)sender).ImeMode = ImeMode.Disable;
this.is非数字 = false;
((TextBox)sender).Tag = ((TextBox)sender).Text;
//允许数字和删除键及小数点输入
if((e.KeyChar<48||e.KeyChar>57) && e.KeyChar!=8 && e.KeyChar !=(char)('.') )
{
e.Handled = true;
this.is非数字 = true;
}
//小数点只能输入一次
if(e.KeyChar == (char)('.') && ((TextBox)sender).Text.LastIndexOf('.') != -1 )
{
e.Handled = true;
}
//小数点不能输入在第一位
if(e.KeyChar == (char)('.') && ((TextBox)sender).Text == "")
{
e.Handled = true;
}
//第一位是0,第二位必须是.
if(e.KeyChar != (char)('.') && ((TextBox)sender).Text == "0" )
{
e.Handled = true;
}
if(e.KeyChar==8)
{
e.Handled = false; }
//含有中文
if (e.KeyChar >= 0x4e00 && e.KeyChar <= 0x9fa5 )
{
this.is非数字 = true;
}
}
//只能输入数字不允许汉字
private void txtGoodsPrice_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
{
if(this.is非数字 && ((TextBox)sender).Text != ((TextBox)sender).Tag.ToString() )
{
MessageBox.Show("只能输入数字!!","系统提示",MessageBoxButtons.OK, MessageBoxIcon.Question);
((TextBox)sender).Text = ((TextBox)sender).Tag .ToString();
((TextBox)sender).SelectionStart = ((TextBox)sender).Text.Length ;
this.is非数字 = false;
return;
}
}
如何将这些代码加入某一TextBox呢?并且TextBox没有KeyPress和KeyUp这两个事件呀?请多指教,本人正在研究中......................