一个usercontrol如何能从这个userctrl的控件如button上向组建所在窗体发出一个事件
定义一个usercontrol如果上面放一个button控件,如何能在使用这个usercontrol的窗口上捕捉到button被点击的事件呢
(1)在自定义控件中添加自定义事件
- C# code
public event EventHandler ButtonClick = null;
(2)在控件构造函数中添加button.click事件声明
- C# code
public UserControlButton() { InitializeComponent(); // button1.Click += new EventHandler(button1_Click); }
(3)在button.click事件中传递事件触发参数
- C# code
private void button1_Click(object sender , EventArgs e) { if ( ButtonClick != null ) { ButtonClick(sender , e); } }
(4)在form构造函数中声明ButtonClick事件
- C# code
userControlButton1.ButtonClick += new EventHandler(userControlButton1_ButtonClick);
(5)声明ButtonClick事件后,在From中就产生一个 void userControlButton1_ButtonClick(object sender , EventArgs e)方法
- C# code
void userControlButton1_ButtonClick(object sender , EventArgs e) { //在这里写入你的事件处理程序 throw new NotImplementedException(); }