事件和委托

委托:简单用自己的话说就是把一个方法当做一个方法的参数

委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If … Else(Switch)语句,同时使得程序具有更好的可扩展性。

//定义委托类型.................

public delegate void ShowParent();

//用事件声明委托对象

public event ShowParent eventDataAll;

//点击按钮事件触发相应的委托事件//

ClickDataAll private void toolStripButtonDataAll_Click(object sender, EventArgs e) {  

  eventDataAll();

}

//定义方法(用于实例化委托对象)

public void parentDataAll() {

  xxx();

}

mainWindow1.parentDataAll为方法,toolStripMenuList1.eventDataAll为委托对象,ToolStripMenuList.ShowParent为委托

实例化委托对象(eventDataAll)

用parentDataAll这个方法将委托(ShowParsent)实例化为evetDataAll(委托对象)

比如说:toolStripMenuList1.eventDataAll += new ToolStripMenuList.ShowParent(mainWindow1.parentDataAll)

原文地址:https://www.cnblogs.com/mengqimoli/p/8552389.html