一、Winform代码
private void btnPublish_Click(object sender, EventArgs e)
{
var appWorker = new AppWorker(参数); appWorker.PublishEndEvent += AppWorker_PublishEndEvent;
appWorker.Publish();
}
public delegate void PublishUIHandler(参数);
private void AppWorker_PublishEndEvent(参数)
{ PublishUIHandler d = new PublishUIHandler(PublishEndHandle); Invoke(d, 参数); }
private void PublishEndHandle(参数)
{
//具体更新主界面的代码
}
二、工作类代码
public class AppWorker { public delegate void PublishEventHandler(PublishUIInfoModel publishEndInfo);
public event PublishEventHandler PublishEndEvent;
public void Publish() {
//长时间执行的代码
PublishEndEvent?.Invoke(参数);
}
}