Form1_KeyDown打电话给button1_Click
本文关键字:button1 Click 打电话 KeyDown Form1 | 更新日期: 2023-09-27 18:31:58
我有这样一段代码:
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.
谢谢!
事件旨在触发而不是调用。因此,您可以通过执行按钮单击来触发Form1_KeyDown
事件中的事件。我的意思是
private void Form1_KeyDown(object sender, KeyEventArgs e) {
if (e.KeyData == Keys.A) {
button1.PerformClick();
}
}
由于按钮单击事件处理程序只是一个方法,因此您可以执行以下操作:
private void Form1_KeyDown(object sender, KeyEventArgs e) {
if (e.KeyData == Keys.A) {
button1_Click(this, e);
}
}
但是,通常更好的方法是将逻辑移动到单独的方法中,并从两个位置调用它。 通过将 button1_Click
中的逻辑重构到它自己的方法中,可以清楚地表明您正在从任何一组事件处理程序调用该逻辑。