[問題] 關於文字方塊的keypress

看板C_Sharp (C#)作者 (阿哩唷 ^.^ )時間14年前 (2011/05/07 22:35), 編輯推噓0(004)
留言4則, 2人參與, 最新討論串1/2 (看更多)
問題: 文字方塊的長度為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

05/08 15:25, , 1F
問題一 因為兩者只要一個成立你就會攔截輸入訊號
05/08 15:25, 1F

05/08 15:26, , 2F
問題二 你的else條件裡面應該加入!=Keys.Back
05/08 15:26, 2F

05/08 15:38, , 3F
樓上大大~問題一呢~如果改成false的話~B也出不來
05/08 15:38, 3F

05/08 15:39, , 4F
問題二呢~KeyPress沒有Keys.Back這個動作
05/08 15:39, 4F
文章代碼(AID): #1DnLZ8Pi (C_Sharp)
討論串 (同標題文章)
文章代碼(AID): #1DnLZ8Pi (C_Sharp)