1:委托是函数的指针:
2:方法签名:参数类型 个数 顺序 返回值;
3:delegate void speakDelegate();定义个委托委托的方法签名要与想指向(引用)方法的方法签名要一致;
实例化委托:方式1:speakDelegate speak=new speakDelegate(方法名)
speak();//执行的即使括号里的方法名;
方式2:speak=方法名;speak();
3:使用等号指向方法是只能指向一个方法;“+=”时就可以引用多个方法(这是就有了后面引用的方法将前面的方法覆盖了);
委托的用处(为事件而生):
1:用户控件
2:多线程
委托事件:
事件: public event ErrorInfoDelegate 事件名;
添加事件:这是就不能等于了table建生成事件;会自动生成个事件名(写方法体和自定义控件)
问题事件不能有返回值:
通过属性
public string shu
{
set{textbox1.text=value}//在前台事件不能有返回值所以在方法体里给该属性赋值;
}
在自定义控件外不可以访问自定控件中的控件;