请教大侠如何在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;
}
}
} 展开
问题自己解决了: 在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;
}
}
} 展开
3个回答
展开全部
想问下你怎么控制手动输入位数为2位数的,我在一个面板里放了3个numericupdown控件。按照你的方法设置后,第二个超过两位后,多余的数字会自动跳到第一个numericupdown里,而且,第一个numericupdown输入的如果是0.26,然后再输入6的话,虽然不能显示出来,但是最后保存的结果会显示0.27.很疑惑
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你要限制输入的话还不如用MaskedTextBox呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询