委托:更新UI控件内容

举个例子:

1.UI类:

 public delegate void del_showInfo(string str);    //命名空间后,UI类前,进行声明一个委托!

 

public del_showInfo hShowInfo_CallBack;  //回调函数

TS server;  //数据更新类

public Form1()
{
InitializeComponent();

hShowInfo_CallBack = new del_showInfo(UI_ShowInfo);
}

private void Form1_Load(object sender, EventArgs e)
{
server = new TS();
server.child_Showinfo = new del_showInfo(UpdateState_InThread);
}

public void UpdateState_InThread(string str)
{
this.tb_Logs.Invoke(hShowInfo_CallBack, str);
}

private void UI_ShowInfo(string str)
{
this.tb_Logs.AppendText(str+"\r\n");
}

2.数据更新类(TS):

public del_showInfo child_Showinfo;

//日志记录
private void ShowInfo(string str)
{
Console.WriteLine(str);
child_Showinfo(str);
}

 

posted @ 2023-04-06 15:37  冲云霄  阅读(2)  评论(0)    收藏  举报