关于Click事件sender参数问题
作者:C/S框架网  发布日期:2011/06/16 23:29:16
关于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描述
// 摘要:
// 表示将处理不包含事件数据的事件的方法。
//
// 参数:
// sender:
// 事件源。
//
// e:
// 不包含任何事件数据的 System.EventArgs。
[Serializable]
[ComVisible(true)]
public delegate void EventHandler(object sender, EventArgs e);





C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务


上一篇 下一篇