将多个键绑定到KeyDown事件(Shift + *(星号))

时间:2011-10-11 18:28:54

标签: c# .net windows winforms keydown

我正在尝试绑定KeyDown事件上的多个键来更改bool变量,但我似乎无法弄清楚如何使用以下代码中的Left Shift键触发星号/星号键(*):

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
    if (keyData == Keys.Multiply || keyData == (Keys.LShiftKey | Keys.OemQuotes))
    {
        Valgt = true;
    }
}

1 个答案:

答案 0 :(得分:1)

这个答案不会是键盘布局不变,但这可以在US-EN键盘上实现。它不健壮,但可以适应您当地的布局。

if (keyData == Keys.Multiply || keyData == (Keys.Shift | Keys.D8))
{
    Valgt = true;
}

或者,您可以使用Control_KeyPress事件

private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{            
    if (e.KeyChar == '*')
    {
        Valgt = true;
    }
}