c#中在textbox.text只能输入一个小数点(“.”)

2025-03-06 13:34:10
推荐回答(5个)
回答1:

只能输入数值型字符如下:

回答2:

用js 检索和判断就行
indexOf() 和 编写便利函数即可完成

回答3:

添加两个事件。
1.给textbox添加KEYPRESS事件。(只能输入数字和一个小数点)
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!Char.IsNumber(e.KeyChar) && !Char.IsPunctuation(e.KeyChar) &&
!Char.IsControl(e.KeyChar))
{
e.Handled = true;
}
else if (Char.IsPunctuation(e.KeyChar))
{
if (((TextBox)sender).Text.LastIndexOf('.') != -1)
{
e.Handled = true;
}
}
else
{
e.Handled = false;
}
}
2.添加text的textchanged 。(首位不为0和首位为 . 时自动前面加个0)
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text.Substring(0) == Convert.ToString(0))
{
this.textBox1.Text = "";
}
else if (textBox1 .Text .Substring (0)==".")
{
this.textBox1 .Text ="0.";
textBox1.SelectionStart = 2;
}
}

回答4:

不是很清楚楼主的意思,我按照现在我想的回答下,如果回答错误请无视我,毕竟我是新手!
if(textbox.text.SubString(0,1).Equals("."))
{
MessageBox.Show("首位不能为.");
textbox.text=string.Empty;
}

回答5:

JS实现