获取非ModifierKey c#

问题描述:

我尝试从pressKey事件中获取非ModifierKeys。 得到我使用ModifierKey:获取非ModifierKey c#

if (Control.ModifierKeys == Keys.Control) 

但我如何得到非ModifierKeys? 不只是一个特定的键。但所有组合a-z 0-9。

我想知道是否CTRL + A或CTRL + 5或CTRL + B是按下还是其他组合。

如果你正在尝试确定的按键是否是一个字母,或者你可以不喜欢

private void textBox1_KeyPress(object sender, KeyPressEventArgs e) 
     { 
      if (Char.IsLetterOrDigit(e.KeyChar)) 
      {     
       //do A 
      } 
      else 
      { 
       //do B 
      } 
     } 

一个数字,但如果你想要哪个键被按下,就可以处理KeyDown事件,其KeyEventArgs会有哪个键被按下。

private void textBox1_KeyDown(object sender, KeyEventArgs e) 
     { 
      Keys keyPressed = e.KeyCode; 
     } 
+0

谢谢。 当我将代码移到KeyDown时,它可以工作。 一直使用Keypess在这种情况下,这不是一个好主意。因为它的第一个键被按下,所以它只会选择CTRL。但是如果我使用KeyDown,我会得到最后一个关键点。女巫将是非ModifierKey。 – Ehel

Control不提供列出所有按键的属性。您需要在活动中提取它,例如KeyPress

+0

该代码在KeyPress甚至。 if(Control.ModifierKeys == Keys.Control) – Ehel