我有这样的代码:
private void button1_Click(object sender, EventArgs e) {
// Do something...
}
private void Form1_KeyDown(object sender, KeyEventArgs e) {
if (e.KeyData == Keys.A) {
// Call button1_Click.
}
}
如何设置调用Click事件?我该怎么写而不是
// Call button1_Click.
谢谢!
答案 0 :(得分:2)
意图触发事件而不调用。因此,您可以通过执行单击按钮来触发Form1_KeyDown
事件中的事件。我的意思是
private void Form1_KeyDown(object sender, KeyEventArgs e) {
if (e.KeyData == Keys.A) {
button1.PerformClick();
}
}
答案 1 :(得分:0)
由于按钮点击事件处理程序只是一种方法,您可以这样做:
private void Form1_KeyDown(object sender, KeyEventArgs e) {
if (e.KeyData == Keys.A) {
button1_Click(this, e);
}
}
但是,将逻辑移动到单独的方法中并从两个位置调用它通常更好。通过将button1_Click
中的逻辑重构为它自己的方法,您可以清楚地表明您从任一组事件处理程序中调用该逻辑。