展开全部
1.文本框的话,有个控件叫:NumericUpDown,可以设置小数位,小数位为0的时候显示是整数
2.利用KeyPress事件
private void Decimal_KeyPress(object sender, KeyPressEventArgs e)//自定义函数
{
//验证正整数,小数
if (e.KeyChar != 8 && e.KeyChar != 13 && e.KeyChar != 46 && !char.IsNumber(e.KeyChar)) e.Handled = true;
if(e.KeyChar == 46 && this.TextBox.Text.Length==0)
{
e.Handled = true;
return;
}
int a = 0;
try
{
a = this.TextBox.Text.ToString().Trim().Split('.').Length;
}
catch { }
if (e.KeyChar == 46 && a > 1) e.Handled = true;
}
这样判断,请尝试,望采纳
展开全部
为嘛要用文本框啊 用这个控件 numericUpDown 不就解决了 如果你非得用文本框也有办法在文本框的KeyUp事件里做判断 判断用户每个键位 只有是数字的时候才吧值拼接上去,不过这样做比较麻烦
追问
我已经在文本框的keyup事件写好判断了。只是不知道怎么判断第一个数不能为小数点
追答
不好意思看错了 你考虑的优点问题 正常输入应该可以输出.1的这样代表的是0.1 这样如果文本框里面没值 用户还输入点了 你在前面补个零就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
private void txtMoney_KeyPress(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar >= 48 && e.KeyChar <= 57) || e.KeyChar==8)
{
}
else if (e.KeyChar == 46 &&this.txtMoney.Text.IndexOf(".")<0)
{
}
else
{
this.toolTip1.Show("只可输入数值", this.txtMoney,2000);
e.Handled = true;
}
}
追问
还是能输入啊、 进到第二个else if 没有判断。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.文本框的话,有个控件叫:NumericUpDown,可以设置小数位,小数位为0的时候显示是整数
2.利用KeyPress事件
123456789101112131415161718 private void Decimal_KeyPress(object sender, KeyPressEventArgs e)//自定义函数 { //验证正整数,小数 if (e.KeyChar != 8 && e.KeyChar != 13 && e.KeyChar != 46 && !char.IsNumber(e.KeyChar)) e.Handled = true; if(e.KeyChar == 46 && this.TextBox.Text.Length==0) { e.Handled = true; return; } int a = 0; try { a = this.TextBox.Text.ToString().Trim().Split('.').Length; } catch { } if (e.KeyChar == 46 && a > 1) e.Handled = true; }
这样判断,请尝试,望采纳
2.利用KeyPress事件
123456789101112131415161718 private void Decimal_KeyPress(object sender, KeyPressEventArgs e)//自定义函数 { //验证正整数,小数 if (e.KeyChar != 8 && e.KeyChar != 13 && e.KeyChar != 46 && !char.IsNumber(e.KeyChar)) e.Handled = true; if(e.KeyChar == 46 && this.TextBox.Text.Length==0) { e.Handled = true; return; } int a = 0; try { a = this.TextBox.Text.ToString().Trim().Split('.').Length; } catch { } if (e.KeyChar == 46 && a > 1) e.Handled = true; }
这样判断,请尝试,望采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询