我正在创建一个文本框来输入一些Product
的Price,我不希望用户多次输入"."
。 "."
不能是第一个角色(我知道该怎么做)。但我需要让文本框接受这个字符“。”不超过一次。怎么样 ?不,我不想使用MaskedTextBox
。
答案 0 :(得分:2)
将其放入文本框中的KeyPress
事件中。
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
string inputChar = e.KeyChar.ToString();
if (inputChar == ".")
{
if (textBox1.Text.Trim().Length == 0)
{
e.Handled = true;
return;
}
if (textBox1.Text.Contains("."))
{
e.Handled = true;
}
}
}
答案 1 :(得分:1)
试试这个
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text.IndexOf('.') != textBox1.Text.LastIndexOf('.'))
{
MessageBox.Show("More than once, not allowed");
textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1);
}
}