2016-05-07 39 views
1

问题是,对于下划线和减号键值都是189,键码是Keys.OemMinus。所以我无法检查按键是下划线还是减去。请帮忙。如何确定按下的键是下划线还是减? C#

private void Some_KeyDown(object sender, KeyEventArgs e) 
{ 
     if(Pressed key is minus/dash) 
     { 
      MessageBox.Show("minus"); 
     } 

     if(pressed key is underscore) 
     { 
      MessageBox.Show("underscore"); 
     } 
} 
+1

确定的asp.net标签是相关的,不是的WinForms?在后一种情况下,请查看KeyEventArgs类的'Shift'和/或'Modifiers'属性。 – CodeCaster

回答

4

如果这是一个WinForms项目,使用KeyPress事件而不是KeyDown事件:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e) 
{ 
    if(e.KeyChar == '-') 
    { 
     MessageBox.Show("Minus"); 
    } 
    if (e.KeyChar == '_') 
    { 
     MessageBox.Show("Underscore"); 
    } 
} 
+0

那么,事情需要在KeyDown事件下完成。 –

+0

为什么?请解释为什么你想在Keydown做这件事? – NineBerry

+0

dev的表格列表。我想根据按下的键在节点上移动。现在我认为这可以用KeyPress而不是KeyDown来完成,因为KeyChar在那里可用。 –

相关问题