委托是一种安全地封装方法的类型,它与 C 和 C++ 中的函数指针类似。与 C 中的函数指针不同,委托是面向对象的、类型安全的和保险的。委托的类型由委托的名称定义。下面的示例声明了一个名为 Del 的委托,该委托可以封装一个采用字符串作为参数并返回 void 的方法。
public partial class Form2 : Form
{
//申明委托
delegate void LockWindowDelegate(bool enabled);
//定义委托对象
private LockWindowDelegate _lockWindow;
public Form2()
{
InitializeComponent();
//对象初始化
_lockWindow = new LockWindowDelegate(lochFunction);
}
private void startAsyncButton_Click(object sender, EventArgs e)
{
//异步调用1
this.BeginInvoke(_lockWindow, true);
//异步调用2
IAsyncResult iar= _lockWindow.BeginInvoke(true,null,null);
//停止调用
_lockWindow.EndInvoke(iar);
}
private void lochFunction(bool bol)
{
if (bol)
{
this.startAsyncButton.Enabled = false;
this.cancelAsyncButton.Enabled = true;
}
else
{
this.startAsyncButton.Enabled = true;
this.cancelAsyncButton.Enabled = false;
}
}
}
参加http://msdn.microsoft.com/zh-cn/library/2e08f6yc.aspx
来源:https://www.cnblogs.com/xuqifa100/archive/2010/09/17/1828986.html