【发布时间】:2016-08-02 01:54:39
【问题描述】:
我正在创建一个基本的 winform 应用程序,其中包含许多带有点击事件的图片框。单击事件需要使用被单击的图片框的名称才能执行其余代码。我不想为所有图片框创建唯一的点击事件。我希望有一种简单的方法来获取这些信息,比如使用“sender”参数或事件参数。
【问题讨论】:
标签: c# winforms events picturebox mouseclick-event
我正在创建一个基本的 winform 应用程序,其中包含许多带有点击事件的图片框。单击事件需要使用被单击的图片框的名称才能执行其余代码。我不想为所有图片框创建唯一的点击事件。我希望有一种简单的方法来获取这些信息,比如使用“sender”参数或事件参数。
【问题讨论】:
标签: c# winforms events picturebox mouseclick-event
您为所有 PictureBox 添加一键式事件处理程序:
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;
【讨论】: