如何将键盘键绑定到标签

时间:2016-04-25 15:35:43

标签: c# winforms user-interface

我正在尝试绑定键盘按钮(最好是“ESC”)以停止在方法内运行的代码。但问题是,它只适用于实际的按钮,无论如何都可以绕过它,所以当按下标签时它也可以工作吗?

        private void label1_Click(object sender, EventArgs e)
        {

            if (e.Control && e.KeyCode.ToString() == "ESC")
            {
                MessageBox.Show("This does now work");
            }
}

Error

我已经在某个地方读过,它可能只是Visual Studio GUi不能提供它,但是你可以用代码以某种方式完成它,这是真的吗?

1 个答案:

答案 0 :(得分:0)

我不确定你要做什么。无论焦点是什么控件,当焦点在表单中时,按下Escape键时,将会得到Escape键。只需将其添加到表单(当然是代码)。

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
    if (keyData == (Keys.Escape))
    {
        MessageBox.Show("This works");
        return true;
    }
    return base.ProcessCmdKey(ref msg, keyData);
}