我想知道如何在c#表单应用程序中限制文本框中特定字符的数量。
例如,我希望限制用户仅能输入一个减号(minus),如果用户尝试再次输入,则程序将禁止其再次输入。
示例:-123、123-或123-123(只有一个减号)。
如果用户删除了减号,则应该允许重新输入一个减号,当然不能再输入更多!
我想防止用户输入----1234、1234--、123-4--21或其他更多的内容!!
以下是我的尝试:
示例:-123、123-或123-123(只有一个减号)。
如果用户删除了减号,则应该允许重新输入一个减号,当然不能再输入更多!
我想防止用户输入----1234、1234--、123-4--21或其他更多的内容!!
以下是我的尝试:
private void txtStopAfterXTimes_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.OemMinus || e.KeyCode == Keys.Subtract)
{
if (txtStopAfterXTimes.Text.Count((char)'-', 1))
{
e.SuppressKeyPress = true;
}
else if (txtStopAfterXTimes.Text.Count((char)'-', 0))
{
e.SuppressKeyPress = false;
}
}
}
我知道这是不对的,但请帮帮我!谢谢...
e.SuppressKeyPress = txtStopAfterXMinutes.Text.Count(c => c == '-') > 0
? - vasily.sibtxtStopAfterXMinutes.Text
中计算-
字符数,如果超过0个,则将e.SuppressKeyPress
设置为false。 - vasily.sib