private void maskedTextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar)
&& !char.IsDigit(e.KeyChar)
&& e.KeyChar != ',')
{
e.Handled = true;
}
}
我有一个蒙面文本框。我只让用户输入数值和","逗号。
如果用户连续输入2个逗号,例如,,
,我想删除最后一个逗号。
用户只能输入1个逗号。
例如:
TextBox
值为100,00
,如果用户输入此值100,00,,00
我想将其更改为100,00,00
。
如果在KeyPress
事件中连续输入2个逗号,如何删除第二个逗号?
答案 0 :(得分:1)
试试这个:
int sequenceCount = 0;
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == ',')
sequenceCount++;
else
sequenceCount = 0;
if ((!char.IsControl(e.KeyChar)
&& !char.IsDigit(e.KeyChar)
&& e.KeyChar != ',') || sequenceCount>1)
{
e.Handled = true;
}
}
答案 1 :(得分:1)
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
// you might also want to check if the textBox1 is empty or whatever else.
if (e.KeyChar == ',' && textBox1.Text.EndsWith(","))
{
e.Handled = true;
}
}