委托:简单用自己的话说就是把一个方法当做一个方法的参数
委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用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)