如何在文本框中只编写一次字符?

时间:2013-01-14 08:39:35

标签: c# textbox character

我正在创建一个文本框来输入一些Product的Price,我不希望用户多次输入".""."不能是第一个角色(我知道该怎么做)。但我需要让文本框接受这个字符“。”不超过一次。怎么样 ?不,我不想使用MaskedTextBox

2 个答案:

答案 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);
  }
}