社区
C#
帖子详情
c#文本框限制的问题
stzys599
2005-04-30 10:29:34
winform(C#)
请问有谁知道文本框怎么限制只能输入数字,并能限制小数点后面两位
如:
20.11
如果输入数值为 20.88
能自动四舍五入为 21.00
如果输入数值为 20.11
能自动四舍五入为 20.00
谢谢!
...全文
245
15
打赏
收藏
c#文本框限制的问题
winform(C#) 请问有谁知道文本框怎么限制只能输入数字,并能限制小数点后面两位 如: 20.11 如果输入数值为 20.88 能自动四舍五入为 21.00 如果输入数值为 20.11 能自动四舍五入为 20.00 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lgg06
2005-05-05
打赏
举报
回复
keypress
ycy589
2005-05-05
打赏
举报
回复
顶!!!
syfsz
2005-05-04
打赏
举报
回复
看来这个问题大家经常遇到啊,呵呵
qwerttyy
2005-05-03
打赏
举报
回复
学习
zhangxiaopin
2005-05-03
打赏
举报
回复
//只能输入数字函数
public bool IsNumeric(string strinput)
{
//声明一个字符数组
Char[] ca;
ca=strinput.ToArrayl();
for(int i=0;i<strinput.lenght;i++)
{
if((ca[i]<'0' || ca[i]>'9') && ca[i]!='.')
{
return false;
}
break;
}
return true;
}
marvelstack
2005-05-03
打赏
举报
回复
使用好的设计方法
http://www.microsoft.com/china/msdn/library/langtool/vcsharp/winforms03162004.mspx
kv4000
2005-05-01
打赏
举报
回复
up+study!
iGray
2005-05-01
打赏
举报
回复
给出个凑合的方法:
//1.处理KeyPress事件,限制输入的字符
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
//只接受数字,退格,Tab键,小数点
if ( !( Char.IsNumber(e.KeyChar) || e.KeyChar == '\b' || e.KeyChar == '\t' || e.KeyChar == '.' ) )
{
e.Handled = true;
}
}
//2.添加Validating事件,进行四舍五入,如果是非法输入,则拉回焦点
private void textBox1_Validating(object sender, System.ComponentModel.CancelEventArgs e)
{
//四舍五入
try
{
//右边是一个decimal型,四舍五入赋值给f,作个示范
float f = (float) Decimal.Round(Convert.ToDecimal(textBox1.Text), 2);
textBox1.Text = f.ToString();
}
catch(Exception)
{
MessageBox.Show("非法格式的字符,请重新输入");
textBox1.Text="";
e.Cancel = true;
}
}
stzys599
2005-05-01
打赏
举报
回复
if(!IsNumber())
{
text1.Text="";
}
else
{
if(text1.Text.IndexOf(".")>-1)
{
string[] n=text1.Text.ToString().split('.');
if((int)n[1]>40)//在多一些判断处理
{
text1.Text=((int)n[0]+1)+"."+"00";
}
else
{
text1.Text=n[0]+"."+"00";
}
}
}
这个思路是可行的,可能过于复杂,你可以参考再做改善
是vb的,不能用
凨叔
2005-04-30
打赏
举报
回复
最好是重载ProcessKeyEventArgs.
//(keyValue>47 && keyValue<58) - Numbers 0-9
//keyValue==46 - Decimal point
//(keyValue>34 && keyValue<41) - Home, End, and Arrow Keys
//keyValue==8 - Backspace Key
//(m.Msg==256 && keyValue==46) - Delete Key
protected override bool ProcessKeyEventArgs(ref Message m)
{
int keyValue = m.WParam.ToInt32();
if((keyValue>47 && keyValue<58) || keyValue==46 || (keyValue>34 && keyValue<41) || keyValue==8 || (m.Msg==256 && keyValue==46))
{
return base.ProcessKeyPreview(ref m);
}
return true;
}
brando_beat
2005-04-30
打赏
举报
回复
up
singlepine
2005-04-30
打赏
举报
回复
if(!IsNumber())
{
text1.Text="";
}
else
{
if(text1.Text.IndexOf(".")>-1)
{
string[] n=text1.Text.ToString().split('.');
if((int)n[1]>40)//在多一些判断处理
{
text1.Text=((int)n[0]+1)+"."+"00";
}
else
{
text1.Text=n[0]+"."+"00";
}
}
}
这个思路是可行的,可能过于复杂,你可以参考再做改善
singlepine
2005-04-30
打赏
举报
回复
在text的change事件里做处理,
yufenfeila
2005-04-30
打赏
举报
回复
正则表达式解决
fanruinet
2005-04-30
打赏
举报
回复
在keypress事件中根据用户的输入和已有的内容进行判断
C#
限制
文本框
只允许输入数字类型
C#
限制
文本框
只允许输入数字类型,比如在本实例中,当你输入除了数字以外的字符类型时,便会弹出一个文本提示框,告诉您这个输入框内不允许输入其它类型的字符,在
C#
编程中,是比较常见且实用的小特效,欢迎新手...
C#
限制
文本框
输入数字
C#
限制
文本框
输入数字,各种方法.
初学及入门
C#
C#
既可以解决日常编程算法
问题
,也可以解决软件开发
问题
。
C#
是从C++继承而来,既有C++和硬件交互的功能,也能像java一样web开发。很多人入门一门编程语言可能会有很多
问题
,本门课程从自身学习编程语言的基础上讲解...
C#
案例:
限制
TextBox只能输入字母
《
C#
案例:
限制
TextBox只能输入字母》,就如题目的意思一样,让
文本框
只能输入字母,否则会显示提示框。 采用的是通过正则表达式实现的: 匹配特定字符串: ^[A-Za-z]+$ //匹配由26个英文字母组成的字符串 ^[A...
C#
TextBox多行
文本框
的字数
限制
问题
在Visual
C#
中,多行
文本框
使用的也是 TextBox,只不过其 Multiline 属性为 true。 要注意,其仍然有字数
限制
,MaxLength 属性默认值是 32767。 MaxLength 表示什么? 它代表的是字数,并不是字节数。 超过会怎么样...
C#
110,533
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章