作者b9433056 (阿哩唷 ^.^ )
看板C_Sharp
標題[問題] 關於文字方塊的keypress
時間Sat May 7 22:35:50 2011
問題:
文字方塊的長度為9
第一個為"B"或"U"
第二至第九為數字
非規定值~跳出警告視窗
程式碼如下
01 if (txtNumber.Text == "")
02 {
03 if (e.KeyChar.ToString() != "B")
04 {
05 e.Handled = true;
06 }
07 }
08 else
09 {
10 {
11 if (e.KeyChar.CompareTo('0') < 0 || e.KeyChar.CompareTo('9') > 0
12 && e.KeyChar != '\b')
13 {
14 e.Handled = true;
15 }
16 }
17 }
有以下問題
1.如果在第3行加入 || e.KeyChar.ToString() != "U" 則 B 跟 U 都不會出來
2.輸入之後的值都無法使用倒退鍵刪除
3.判斷規定值錯誤該做在哪?因為嘗試用try catch沒有該有的效果
請各位先知們幫忙解答
再下感激不進 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.171.226.145
→ optimist9266:問題一 因為兩者只要一個成立你就會攔截輸入訊號 05/08 15:25
→ optimist9266:問題二 你的else條件裡面應該加入!=Keys.Back 05/08 15:26
→ b9433056:樓上大大~問題一呢~如果改成false的話~B也出不來 05/08 15:38
→ b9433056:問題二呢~KeyPress沒有Keys.Back這個動作 05/08 15:39