【发布时间】:2015-09-19 00:22:49
【问题描述】:
我尝试从 pressKey 事件中获取非修饰键。 要获得 ModifierKey 我使用:
if (Control.ModifierKeys == Keys.Control)
但是我如何获得非修饰键? 不仅仅是一个特定的键。但所有组合 a-z 0-9。
我想知道是否按下了CTRL+A 或CTRL+5 或CTRL+B 或任何组合。
【问题讨论】:
我尝试从 pressKey 事件中获取非修饰键。 要获得 ModifierKey 我使用:
if (Control.ModifierKeys == Keys.Control)
但是我如何获得非修饰键? 不仅仅是一个特定的键。但所有组合 a-z 0-9。
我想知道是否按下了CTRL+A 或CTRL+5 或CTRL+B 或任何组合。
【问题讨论】:
Control 不提供列出所有按下的键的属性。您需要在活动中领取它,例如KeyPress。
【讨论】:
如果您尝试确定按键是字母还是数字,您可以执行类似的操作
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;
}
【讨论】: