0

私は少し小さな問題を抱えています。私がやろうとしているのは、textBoxを次の文字に制限することです:[a => f、x、A => F、0 => 9]、そして正確に必要なのは例外を追加することですこれにより、「x」を除いて、前述のtextBoxの小文字の入力が大文字になります。これは私が試したものですが、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;
        }

ありがとうございました。

4

1 に答える 1

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

ありがとうございました。

于 2012-11-13T00:23:26.543 に答える