1、声明委托
public delegate void DataCallBackEventHandler(string str); |
2、按照委托结构(参数和返回值)写一个回调方法
public void DataCallBackEvent(string str) { label1.Text = "委托传回的消息:" + str; } |
3、将方法作为参数进行传递
private void btnTestDelegate_Click(object sender, EventArgs e) { Form3 frm3 = new Form3(DataCallBackEvent); frm3.Show(); } |
4、构造函数中接收此方法
//声明委托用来接收方法 DataCallBackEventHandler _dataCallBackEvent; public Form3(DataCallBackEventHandler dataCallBackEvent) { InitializeComponent(); //用委托接收方法 _dataCallBackEvent = dataCallBackEvent; } |
5、调用方法
//传回字符串+时间 if (_dataCallBackEvent!=null) { _dataCallBackEvent(textBox1.Text+DateTime.Now.ToString("yyyy-dd-hh-mm.fff")); } |
拓展知识:
【c# 学习笔记】c#委托是什么:https://www.cnblogs.com/xiaoyehack/p/9474550.html
文章知识点摘抄:c#中的委托可以理解为函数的一个包装,它使得c#中的函数可以作为参数来被传递,这在作用上相当于c++中的函数指针。c++用函数指针获取函数的入口地址,然后通过这个指针来实现对函数的操作。