c#textbox 只能输入数字,小数点.怎么做

36560人阅读
private void tBox_KeyPress(object sender, KeyPressEventArgs e)
if (e.KeyChar == 0x20) e.KeyChar = (char)0;
//禁止空格键
if ((e.KeyChar == 0x2D) && (((TextBox)sender).Text.Length == 0))
//处理负数
if (e.KeyChar & 0x20)
double.Parse(((TextBox)sender).Text + e.KeyChar.ToString());
e.KeyChar = (char)0;
//处理非法字符
private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
if(e.KeyChar!=8&&!Char.IsDigit(e.KeyChar))
e.Handled =
private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
if(e.KeyChar!='\b'&&!Char.IsDigit(e.KeyChar))
e.Handled =
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
if(e.KeyChar!='\b')//这是允许输入退格键
if((e.KeyChar&'0')||(e.KeyChar&'9'))//这是允许输入0-9数字
e.Handled =
private void textBox1_Validating(object sender, CancelEventArgs e)
const string pattern = @&^\d+\.?\d+{1};
string content = ((TextBox)sender).T
if (!(Regex.IsMatch(content, pattern)))
errorProvider1.SetError((Control)sender, &只能输入数字!&);
e.Cancel =
errorProvider1.SetError((Control)sender, null);
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
if(e.KeyChar=='.' && this.textBox1.Text.IndexOf(&.&)!=-1)
e.Handled=
if(!((e.KeyChar&=48 && e.KeyChar&=57) || e.KeyChar=='.' || e.KeyChar==8))
e.Handled=
private void tbx_LsRegCapital_KeyPress(object sender, KeyPressEventArgs e)
if (!Char.IsNumber(e.KeyChar) && !Char.IsPunctuation(e.KeyChar) && !Char.IsControl(e.KeyChar))
e.Handled =//消除不合适字符
else if (Char.IsPunctuation(e.KeyChar))
if (e.KeyChar != '.' || this.textBox1.Text.Length == 0)//小数点
e.Handled =
if (textBox1.Text.LastIndexOf('.') != -1)
e.Handled =
利用ASCII码处理办法、
if ((e.KeyChar &= 48 || e.KeyChar &=57) && (e.KeyChar != 8) && (e.KeyChar != 46))
e.Handled =
================48代表0,57代表9,8代表空格,46代表小数点
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:265320次
积分:3200
积分:3200
排名:第9726名
原创:113篇
转载:13篇
评论:20条
(1)(4)(1)(3)(1)(4)(2)(9)(4)(1)(9)(15)(11)(1)(14)(21)(10)(15)12:14 提问
C# 怎么在textBox中限制只能输入整数,并且限制输入的长度
如题,我想限制textbox输入的数据必须是4位整数,求解答!如果不符合条件就会自动弹出“输入不合法”,然后清空textbox重新输入
按赞数排序
限制长度的,textbox有个maxlength属性可以设置
一般用的是正则表达式,但这次比较简单
private void phone_KeyPress(object sender,KeyPressEventArgs e)
if(!(Char.IsNumber(e.KeyChar))&& e.KeyChar!=(char)8)
e.Handled=
output("输入不正确,请重新输入!")
思路就是用正则判断。。这个很简单
网上都 有。。要么就是自己判断,长度就不说了,类型的话,,好像int.下面有个方法有判断是不是整数
其他相似问题> C#中让TextBox只能输入数字的有关问题
C#中让TextBox只能输入数字的有关问题
mrhipsd & &
发布时间: & &
浏览:1 & &
回复:1 & &
悬赏:0.0希赛币
C#中让TextBox只能输入数字的问题我用的如下的代码:static private Regex r = new Regex(&^[0-9]{1,}$ &); &
if (!r.IsMatch(textBox2.Text)) &
MessageBox.Show(&请在人数选项中输入数字 &); &
}我在TextBox中不管输入什么字符,最后的结果都是 运行
MessageBox.Show(&请在人数选项中输入数字 &);请各位帮忙看下,这样写的代码哪里有问题,或者给一个更好的代码,可以实现 让一个TextBox中,只能输入数字
你直接这样写:Regex regex=new Regex(&[0-9]+&)就可以。mrhuisjeff & &
19:04:13 & &
& & (0)(0)
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&2008年6月 VB大版内专家分月排行榜第二
2010年6月 挨踢职涯大版内专家分月排行榜第三2010年5月 挨踢职涯大版内专家分月排行榜第三2010年4月 挨踢职涯大版内专家分月排行榜第三2009年10月 挨踢职涯大版内专家分月排行榜第三
2009年10月 .NET技术大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。

我要回帖

 

随机推荐