我正在尝试绑定键盘按钮(最好是“ESC”)以停止在方法内运行的代码。但问题是,它只适用于实际的按钮,无论如何都可以绕过它,所以当按下标签时它也可以工作吗?
private void label1_Click(object sender, EventArgs e)
{
if (e.Control && e.KeyCode.ToString() == "ESC")
{
MessageBox.Show("This does now work");
}
}
我已经在某个地方读过,它可能只是Visual Studio GUi不能提供它,但是你可以用代码以某种方式完成它,这是真的吗?
答案 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);
}