您的位置:首页 > 产品设计 > UI/UE

c# 多线程异步更新UI

2012-11-22 14:48 543 查看

多线程更新UI

下面是几个关于更新UI的贴子:

[align=left]/article/5513668.html [/align]

[align=left]http://www.cnblogs.com/Rustle/archive/2004/05/25/11302.html[/align]

这个写得比较完整的一个实例:

http://www.chenjiliang.com/Article/View.aspx?ArticleID=2038&TypeID=98

转源码:这个是一个用非常简单的方法实现的

//用于更新UI的委托
public delegate void UpdateControl(object objarr, object obj2);

//以上委托的实现函数之一
private void UpdateControl_Method(object objarr,object obj2)

UpdateControl dlupdlbl;

private string DoAsync(int a, int b)

//DoAsync 的委托包装
delegate string dl_DoAsync(int a, int b);

private void MyCallBackMethod(IAsyncResult ar)

private void button3_Click(object sender, EventArgs e)


{


try


{


//更新UI的委托


dlupdlbl = new UpdateControl(UpdateControl_Method);




//需要做异步操作的任务代码执行体


dl_DoAsync dl_doThings = new dl_DoAsync(DoAsync);




//异步完成后的回调函数


AsyncCallback callbak = new AsyncCallback(MyCallBackMethod);




//OK ,让我们开始异步吧


dl_doThings.BeginInvoke(0, 0, callbak, dl_doThings);


}


catch (Exception ex)


{


MessageBox.Show(ex.ToString());


}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: