请教大侠如何在c#中将NumericUpDown控件在手动输入时、只允许输入一位小数。

我现在可以将手动输入的小数位控制在两位,但是我将其手动输入的小数控制到只允许输入一位时,在用光标选中NumericUpDown控件的内容时,是不允许手动输入的0-9的数字... 我现在可以将手动输入的小数位控制在两位,但是我将其手动输入的小数控制到只允许输入一位时,在用光标选中NumericUpDown控件的内容时,是不允许手动输入的0-9的数字的,还请高手指教如何只允许一位小数。
问题自己解决了: 在NumericUpDown的TextChange事件中做处理就OK啦。this.NumericUpDownT0.TextChanged += new EventHandler(NumericUpDownT0_TextChanged);
void NumericUpDownT0_TextChanged(object sender, EventArgs e)
{
int index = NumericUpDownT0.Text.IndexOf('.');
int len = NumericUpDownT0.Text.Substring(index + 1).Length;
if (((NumericUpDown)sender).Text.IndexOf('.') > -1)
{
if (len >= 1)
{
this.NumericUpDownT0.Focus();
return;
}
}
}
展开
 我来答
百度网友94f02eb
推荐于2017-05-27 · TA获得超过8612个赞
知道大有可为答主
回答量:7955
采纳率:74%
帮助的人:4448万
展开全部
对一个控件,你要充分熟悉其所有的属性和自有的功能,而不是盲目的去造轮子。
NumericUpDown控件本身就支持控制小数位数的,NumericUpDown控件有个属性,叫 DecimalPlaces,是控制小数位数的,默认是0,你设置为1,就是一位小数了。
追问
多谢回复,我的意思是我手动输入时怎样限制在只能输入一位小数,DecimalPlaces我已经设置了为1.
最爱综艺
2018-08-15
知道答主
回答量:1
采纳率:0%
帮助的人:831
展开全部

想问下你怎么控制手动输入位数为2位数的,我在一个面板里放了3个numericupdown控件。按照你的方法设置后,第二个超过两位后,多余的数字会自动跳到第一个numericupdown里,而且,第一个numericupdown输入的如果是0.26,然后再输入6的话,虽然不能显示出来,但是最后保存的结果会显示0.27.很疑惑

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
草薙在
2012-06-03 · TA获得超过4795个赞
知道大有可为答主
回答量:6187
采纳率:50%
帮助的人:6283万
展开全部
如果你要限制输入的话还不如用MaskedTextBox呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式