我有一个小问题,我想要做的是将我的textBox限制为以下字符:[a => f,x,A => F,0 => 9],以及我是什么需要完全是添加一个异常,将使所提到的textBox中的任何小写输入变为大写,除了“x”,这是我尝试过的,但它限制了来自textBox的所有输入:
if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar) && (e.KeyChar < 'A' || e.KeyChar > 'F') && (e.KeyChar < 'a' || e.KeyChar > 'f') && (e.KeyChar != ' '))
{
e.Handled = true;
textBox1.CharacterCasing = CharacterCasing.Upper;
}
else if ((e.KeyChar != 'x'))
{
e.Handled = true;
textBox1.CharacterCasing = CharacterCasing.Lower;
}
谢谢。
答案 0 :(得分:0)
设法绕过它:
if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar) && (e.KeyChar < 'A' || e.KeyChar > 'F') && (e.KeyChar < 'a' || e.KeyChar > 'f') && (e.KeyChar != ' ') && (e.KeyChar != 'x'))
{
e.Handled = true;
}
//textBox1.CharacterCasing = CharacterCasing.Upper;
if (e.KeyChar == 'x') e.KeyChar = Char.ToLower(e.KeyChar);
else e.KeyChar = Char.ToUpper(e.KeyChar);
谢谢。