1

我正在制作一个文本框来输入一些Product价格,我不希望用户输入"."不止一次。"."不能是第一个字符(我知道该怎么做)。但我需要让文本框接受这个字符“。” 不超过一次。如何 ?不,我不想使用MaskedTextBox.

4

2 回答 2

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;
        }
    }
}
于 2013-01-14T08:42:48.817 回答
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);
  }
}
于 2013-01-14T08:43:15.653 回答