2013-01-13 31 views
0

注意:這不是關於EXCEPTIONS!如何爲「,」和「。」設置例外。在KeyPress活動中?

我試圖讓一個文本框接受一切,但符號和標點......但我需要允許「,」和「。」 。我正在使用:

if (char.IsPunctuation(e.KeyChar) == true) 
{ 
    e.Handled = true; 
} 

if (char.IsSymbol(e.KeyChar) == true) 
{ 
    e.Handled = true; 
} 

有沒有辦法爲這兩個字符(和。)設置例外?

+0

爲什麼冗餘'== true'? – Timwi

回答

2

試試這個:

if (char.IsPunctuation(e.KeyChar) && e.KeyChar != ',' && e.KeyChar != '.') 
{ 
    e.Handled = true; 
} 

if (char.IsSymbol(e.KeyChar) && e.KeyChar != ',' && e.KeyChar != '.') 
{ 
    e.Handled = true; 
} 

或者你可以簡單地所有這一切之前檢查:

if(e.KeyChar != ',' && e.KeyChar != '.') 
{ 
    if (char.IsPunctuation(e.KeyChar)) 
    { 
     e.Handled = true; 
    } 

    if (char.IsSymbol(e.KeyChar)) 
    { 
     e.Handled = true; 
    } 
} 

它的作用是檢查如果字符是標點/符號,也是字符不是',' 要麼 '。'。因此,如果該字符是逗號或句點,if語句將不會運行。

3

檢查這些字符第一:款式

if(e.KeyChar != ',' && e.KeyChar != '.') 
{ 
    if (char.IsPunctuation(e.KeyChar)) 
    { 
     e.Handled = true; 
    } 

    if (char.IsSymbol(e.KeyChar)) 
    { 
     e.Handled = true; 
    } 
} 

注:沒有必要爲布爾爲了比較true對將要採取的分支。