sender的作用:
当多个控件需要触发相同的事件
时,使用sender来获取当前触发事件的控件,可以在同一个方法中进行事件的响应,能够使代码的重用性提高。
[正文前的小补充]
事件名称:控件名+下划线+操作名命名的。
每个事件都有两个参数:object类型的sender,EventArgs类型的e。[今天讲参数sender]
下面举例解释:
例子一、(单事件多运用)
-
运行前的窗体:
-
运行后 点击各个按钮(1个单击事件绑定于N个按钮控件,而实现):
-
实现以上功能
定义一个单击事件
private void but_Click(object sender, EventArgs e)
{
//sender object类型事件的运用
//实例化按钮,借助sender判断被点击的按钮控件是哪一个
Button btn = sender as Button;
//获取but对应文本,绑定到textBox控件
textBox.Text = btn.Text;
}
每个按钮的单击事件,都绑定上but_Click
例子二、(单窗体多运用)
-
运行前的窗体:
-
运行后 点击图片控件(1个窗体绑定于N个控件,而实现):
[防止图片累赘,只罗列两张图片例子]
-
实现以上功能
定义一个单击事件
private void pbox_picture_Click(object sender, EventArgs e)
{
//sender object类型事件的运用
//实例化图片控件,借助sender判断被点击的图片控件是哪一个
PictureBox Picture = sender as PictureBox;
//实例化新窗体,借助方法重载的传参
//[一般传过去的都是id值;而id值可以保存在控件的Tag属性内]新窗体借助id搜索对应的数据,再显示
Clothing Clothing = new Clothing(Picture.Tag.ToString());
Clothing.Show();
}
每个图片的单击事件,都绑定上pbox_picture_Click
- 动态生成的图片,循环绑定
//图片上事件的绑定
pbox_picture.Click += new EventHandler(pbox_picture_Click);
- 窗体上的图片控件,直接绑定
总结 [事件里sender参数的运用步骤]:
- 定义一个共用事件
1.1 实例化控件,借助sender判断被点击的控件是哪一个
1.2 获取需要相关的数据 - 将事件,绑定在需要的所有控件中
温馨提示:
喜欢灰碟分享的小伙伴不要忘记关注噢~这样子,想找我时就不会迷路啦*
联系方式:
Vx+:LHD7575