2012-11-13 44 views
0

我有一個小小的問題,我想要做的是限制我的文本框爲以下字符:[a => f,x,A => F,0 => 9],以及我需要的究竟是添加例外,這將使中提到的textBox任何小寫輸入變成大寫,除了「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; 
     } 

謝謝。

回答

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

謝謝。