爲什麼這個配方是錯誤的難度keychar
if (e.KeyChar <= (char)Keys.NumPad0 && e.KeyChar >= (char)Keys.NumPad2)
{
if (e.KeyChar <= (char)Keys.O && e.KeyChar >= (char)Keys.Oem2)
{
MessageBox.Show("Yes");
}
}
我想0和2
爲什麼這個配方是錯誤的難度keychar
if (e.KeyChar <= (char)Keys.NumPad0 && e.KeyChar >= (char)Keys.NumPad2)
{
if (e.KeyChar <= (char)Keys.O && e.KeyChar >= (char)Keys.Oem2)
{
MessageBox.Show("Yes");
}
}
我想0和2
Keys.O
之間是數字,因爲你不能從0開始枚舉名稱(數字零),這必須是O(字母O)
和整個邏輯似乎有缺陷,它應該像
if ((e.KeyChar >= (char)Keys.NumPad0 && e.KeyChar <= (char)Keys.NumPad2) || (e.KeyChar => (char)Keys.Oem0 && e.KeyChar <= (char)Keys.Oem2))
(IM不知道> =和< =和Oem0)
介於0和2 ...
e.KeyChar >= (char)Keys.NumPad0 && e.KeyChar <= (char)Keys.NumPad2
要檢查它的等於或小於0,並在同一時間相等或大於2.這是不可能的。你必須選擇比小於和,反之亦然你更大,並同時處理數字鍵盤和其他數字鍵,改成這樣:
if (e.KeyChar >= (char)48 && e.KeyChar <= (char)50)
...
將你的優勢提高了。 – bastijn 2010-10-04 09:16:34
我不能說這個代碼是否存在於的KeyDown或KeyPress事件處理程序。如果你想過濾輸入鍵,那麼你應該使用KeyPress。然後代碼是:
if (e.KeyChar >= '0' && e.KeyChar <= '2') {
MessageBox.Show("yes");
}
0123人們通常閱讀這些事情的方式:)。因爲它是一個更完整的答案,所以 – bastijn 2010-10-04 09:15:49