C# 由一个事件处理的多个控件单击事件

C# 由一个事件处理的多个控件单击事件,c#,winforms,events,picturebox,mouseclick-event,C#,Winforms,Events,Picturebox,Mouseclick Event,我正在创建一个基本的winform应用程序,它有许多带有单击事件的PictureBox。单击事件需要使用单击的picturebox的名称,以便执行其余代码。我不想为所有PictureBox创建唯一的单击事件。我希望有一种简单的方法来获取这些信息,比如使用“sender”参数或事件参数。为所有PictureBoxes添加一键式事件处理程序: pic1.Click += PictureBoxClick; pic2.Click += PictureBoxClick; 然后将发送者强制转换到Pictu

我正在创建一个基本的winform应用程序,它有许多带有单击事件的PictureBox。单击事件需要使用单击的picturebox的名称,以便执行其余代码。我不想为所有PictureBox创建唯一的单击事件。我希望有一种简单的方法来获取这些信息,比如使用“sender”参数或事件参数。

为所有PictureBoxes添加一键式事件处理程序:

pic1.Click += PictureBoxClick;
pic2.Click += PictureBoxClick;
然后将发送者强制转换到PictureBox以获取单击的对象,一个粗略的示例:

private void PictureBoxClick(object sender, EventArgs e)
{
    var picBoxName = ((PictureBox)sender).Name;
}
不要忘记在“卸载事件”窗体中取消钩住事件订阅:

pic1.Click -= PictureBoxClick;
pic2.Click -= PictureBoxClick;

干杯,每个答案旁边都有一个勾选框。将答案标记为正确会给你几分,让每个人都知道你的问题已经解决了。祝你好运