作者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
1F:→ optimist9266:问题一 因为两者只要一个成立你就会拦截输入讯号 05/08 15:25
2F:→ optimist9266:问题二 你的else条件里面应该加入!=Keys.Back 05/08 15:26
3F:→ b9433056:楼上大大~问题一呢~如果改成false的话~B也出不来 05/08 15:38
4F:→ b9433056:问题二呢~KeyPress没有Keys.Back这个动作 05/08 15:39