我在c#
中以windows窗体创建应用程序我知道在蒙版文本框中,我们可以限制输入的格式,并且还限制我们可以仅像数字一样验证哪种类型的输入,仅限字符,字母数字。 但是现在我试图限制掩码文本(或简单的文本框)来接受单个算术运算符(+或 - 或*或/)。我在网上搜索过但没找到方法。请帮我解决这个问题。
答案 0 :(得分:1)
我认为更简单的方法是将文本框属性中的“最大长度”字符限制为1
在TextChanged事件中你可以写
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text.Length > 0)
{
char[] SpecialChars = "+-*/".ToCharArray();
int indexOf = textBox1.Text.IndexOfAny(SpecialChars);
if (indexOf == -1)
{
textBox1.Text = string.Empty;
MessageBox.Show("Enter Valid Character")
}
}
}
答案 1 :(得分:0)
使用常规TextBox
。 MaskedTextBox
无法满足您的需求。在一个非常简单的表单示例中,对KeyPress
上的TextBox
使用这样的事件处理程序:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e) {
var accepted = new[] {'+', '-', '*', '/', (char)Keys.Back};
if (!accepted.Intersect(new[] {e.KeyChar}).Any()) {
e.Handled = true;
}
}
并将TextBox.MaxLength
属性设置为1
。