C#检查按下了什么按钮

C# checking what button was pressed

我知道 this question 但它没有解决我的问题。

假设我们有两个按钮执行完全相同的操作(加载 csv 文件并将数据输入两个变量)但是在两组不同的变量上。我可以写两个函数专用于两个函数,但是它们会共享太多公共代码。

如何检测哪个按钮调用了回调函数来决定要处理的变量集?

您可以通过转换 sender 参数来访问 Button

您应该使用显式转换而不是(经常看到的)as 运算符,因为当发件人意外地不是 Button 时,它会正确地导致 InvalidCastException

private void button_Click(object sender, EventArgs e)
{
    var button = (Button)sender;
    // Use button properties to differentiate and load to your variables accordingly
}