Keypress大/小写异常

时间:2012-11-13 00:15:21

标签: c# hex keypress

我有一个小问题,我想要做的是将我的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;
        }

谢谢。

1 个答案:

答案 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);
谢谢。