C#:如何让textBox内输入的内容只能是实数(含小数)

windows程序谢谢啊... windows程序
谢谢啊
展开
 我来答
z1h2p31983
2012-09-24 · TA获得超过251个赞
知道小有建树答主
回答量:147
采纳率:0%
帮助的人:157万
展开全部
小伙子,我来给你解答吧,这程序在vs2005顺利通过,正则表达式不熟悉,比较笨的方法
请在textBox1.KeyPress事件添加如下代码就OK了,textBox1要改成你TextBox的名称,没用你找我
float result = 0.0f;
if (e.KeyChar != (char)Keys.Back) {//退格键不纳入有效字符
if ((!float.TryParse(textBox1.Text + e.KeyChar.ToString(), out result))) {//判断当前字符串是否为float类型,转换失败为非浮点(实数),不显示当前字符
e.Handled = true;
return;
}
}
if ((e.KeyChar >= '0' && e.KeyChar <= '9') || (e.KeyChar == '.') || e.KeyChar == (char)Keys.Back) {
e.Handled = false; //只接受0-9,还有小数点及用于修改的退格键
}
else {
e.Handled = true;//屏蔽非数字字符,不传递到文本框中
}
追问
好像输入小数不行嘢~
不能输入'.'
看看,解决了这个,答案就是你啦,
谢!
追答
没有问题,vs2005,vs2010完全通过,你再仔细检查一下,小伙子,帮你解答问题了,分怎么给我呢
注册_帐号
2012-09-23 · 超过48用户采纳过TA的回答
知道小有建树答主
回答量:117
采纳率:0%
帮助的人:109万
展开全部
额。是要自定义控件 还是要做验证?
实现原理就是 处理 OnTextChange事件
在事件里边获取TextBox的值,然后用正则啊什么的判断是不是实数就可以了。
追问
OnTextChange在textBox在属性栏的事件里找不到
不了解C#
应该怎么做?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无名可用_狂汗
2012-09-24 · TA获得超过3025个赞
知道大有可为答主
回答量:2016
采纳率:0%
帮助的人:1169万
展开全部
额,不是在属性栏,在事件栏,就是属性边上一个闪电样的按钮,点一下,转到事件栏。
方法也是z1h2p31983 的方法,肯定是KeyPress事件,直接让数字和小数点之外的键无效。
不过最好还要能用方向键、回车键、tab键等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
例6
2012-09-23
知道答主
回答量:27
采纳率:0%
帮助的人:4.3万
展开全部
使用验证控件
追问

我的VS2010好像找不到验证控件,是缺少还是没有?

追答

验证那里的就是了,你的vs里怎么没有,实在不行,也可以在textbox里写函数控制

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式