看板 C_Sharp 關於我們 聯絡資訊
問題: 文字方塊的長度為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