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")); //通過委托變量調用函數
}