【问题标题】:Keypress Upper/Lowercase exceptions按键大/小写异常
【发布时间】:2012-11-13 00:15:21
【问题描述】:

我有一个小问题,我想做的是将我的文本框限制为以下字符:[a=>f, x, A=>F, 0=>9],而我需要的是添加一个异常,使上述文本框中的任何小写输入变为大写,“x”除外,这是我尝试过的,但它限制了来自文本框的所有输入:

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;
        }

谢谢。

【问题讨论】:

    标签: c# hex keypress


    【解决方案1】:

    设法绕过它:

    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);
    

    谢谢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-04
      • 1970-01-01
      相关资源
      最近更新 更多