2015-04-07 82 views
-1

我想知道,当我按键盘上的数字键“4”时,它不能显示,但从QWERTY键盘输入数字“4”它的工作原理。除了4 这里其他所有字母工作正常,是我的代码:无法在Windows应用程序的Numpad上输入数字“4”?

private void textBox1_KeyDown(object sender, KeyEventArgs e) 
     { 

      // prevent backspace property 
      int a = textBox1.Text.Length; 
      if (a <= 4) 
      { 
       if (e.KeyCode == Keys.Back) 
       { 
        e.SuppressKeyPress = true; 

       } 
       if (e.KeyCode == Keys.NumPad4) 
       { 
        e.SuppressKeyPress = true; 
       } 
       if (e.KeyCode == Keys.Left) 
       { 
        e.SuppressKeyPress = true; 
       } 
       if (e.KeyCode == Keys.Delete) 
       { 
        e.SuppressKeyPress = true; 
       } 
      } 
+0

所以如果textBox1.Text <= 4的长度然后压制数字键4.这是一个真正的问题吗?长度为 – Mathemats

+0

表示文本框中的字符数,它的数量。所以为什么它压制数字键4. – doubtyboy

+0

因为盒子里有4个或更少的字符。 – Mathemats

回答

2

显然它,因为你的代码。

if (e.KeyCode == Keys.NumPad4) 
{ 
e.SuppressKeyPress = true; 
} 

请从您的条件中删除该代码,它将起作用。

+0

其罚款,但我需要压制关键“4”时numlock关闭,即。它充当左键。 – doubtyboy

+1

当数字键盘像箭头键一样关闭时。在你的代码中,你已经隐藏了keys.left,因此不需要为此压制Numpad4。 –

相关问题