委托
声明委托
namespacetimer11221{ publicpartialclassForm1 : Form { publicForm1() { InitializeComponent(); } //声明委托publicdelegatevoidSetFormTextDelegate(); } }
创建委托对象
namespacetimer11221{ publicpartialclassForm1 : Form { publicForm1() { InitializeComponent(); } //声明委托publicdelegatevoidSetFormTextDelegate(); //创建委托对象privateSetFormTextDelegateSetFormText; }
创建委托方法
namespacetimer11221{ publicpartialclassForm1 : Form { publicForm1() { InitializeComponent(); } //声明委托publicdelegatevoidSetFormTextDelegate(); //创建委托对象privateSetFormTextDelegateSetFormText; //创建委托方法privatevoidExcuteMethod() { Form2form2=newForm2(); form2.Show(); form2.Text="多线程测试"; } } }
委托的绑定及使用
这里实现的是在Form1的窗口里面,按下按钮显示Form2窗口,并且修改Form2的Text属性的内容:
首先需要为按钮创建点击事件、绑定委托、调用委托:
namespacetimer11221{ publicpartialclassForm1 : Form { publicForm1() { InitializeComponent(); } //声明委托publicdelegatevoidSetFormTextDelegate(); //创建委托对象privateSetFormTextDelegateSetFormText; //创建委托方法privatevoidExcuteMethod() { Form2form2=newForm2(); form2.Show(); form2.Text="多线程测试"; } privatevoidbutton1_Click(objectsender, EventArgse) { //绑定委托this.SetFormText=ExcuteMethod; //调用委托this.Invoke(SetFormText); } } }
最终实现效果