防止在一个MaskedTextBox中连续出现两个逗号
本文关键字:两个 连续 MaskedTextBox 一个 | 更新日期: 2023-09-27 17:54:07
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个逗号,如何删除第二个逗号?
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;
}
}
Try This:
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;
}
}