关于Click事件sender参数问题
关于Click事件sender参数问题关于Click事件sender参数问题 (面向C#初学者,中级学员直接跳过)
public frmTestEvent()
{
InitializeComponent();
//自定义一个弹出菜单
ContextMenu cm = new ContextMenu();
this.ContextMenu = cm;
cm.MenuItems.Add("测试Sender!");
cm.MenuItems[0].Click += new EventHandler(OnTest_Click);
//自定义一个按钮
Button btn = new Button();
btn.Text = "测试";
btn.Click += new EventHandler(OnButton_Click);
this.Controls.Add(btn);
}
private void OnButton_Click(object sender, EventArgs e)
{
//因为你知道是什么控件绑定这个事件,所以sender就是触发事件的事件源
Button btn = sender as Button;
btn.Text = btn.Text + "0";
}
private void OnTest_Click(object sender, EventArgs e)
{
//因为你知道是什么控件绑定这个事件,所以sender就是触发事件的事件源
MenuItem item = sender as MenuItem;
item.Checked = !item.Checked;
}
sender参数是触发该事件的事件源(可能是控件或其它对象)
关于Click事件EventHandler描述
扫一扫加作者微信
public frmTestEvent()
{
InitializeComponent();
//自定义一个弹出菜单
ContextMenu cm = new ContextMenu();
this.ContextMenu = cm;
cm.MenuItems.Add("测试Sender!");
cm.MenuItems[0].Click += new EventHandler(OnTest_Click);
//自定义一个按钮
Button btn = new Button();
btn.Text = "测试";
btn.Click += new EventHandler(OnButton_Click);
this.Controls.Add(btn);
}
private void OnButton_Click(object sender, EventArgs e)
{
//因为你知道是什么控件绑定这个事件,所以sender就是触发事件的事件源
Button btn = sender as Button;
btn.Text = btn.Text + "0";
}
private void OnTest_Click(object sender, EventArgs e)
{
//因为你知道是什么控件绑定这个事件,所以sender就是触发事件的事件源
MenuItem item = sender as MenuItem;
item.Checked = !item.Checked;
}
sender参数是触发该事件的事件源(可能是控件或其它对象)
关于Click事件EventHandler描述
// 摘要:
// 表示将处理不包含事件数据的事件的方法。
//
// 参数:
// sender:
// 事件源。
//
// e:
// 不包含任何事件数据的 System.EventArgs。
[Serializable]
[ComVisible(true)]
public delegate void EventHandler(object sender, EventArgs e);
// 表示将处理不包含事件数据的事件的方法。
//
// 参数:
// sender:
// 事件源。
//
// e:
// 不包含任何事件数据的 System.EventArgs。
[Serializable]
[ComVisible(true)]
public delegate void EventHandler(object sender, EventArgs e);
扫一扫加作者微信
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网