为什么这个配方是错误的难度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