兔八哥极品软件园    运行: 4501天 | 文章:640 篇 | 评论:506 条 | 碎语:1条

子线程使用委托与UI线程的通信

作者:admin 发布于:2012-3-29 14:23 Thursday 分类:.NET

由于项目中存在这样的载入的画面:在界面上有显示载入信息的Label控件和进度条,如果采用单线程则在载入数据的时候UI界面会被锁死,造成假死的感觉。为了给一个更友好的界面,因此有必要引入多线程技术,使得软件更加“人性化”。

但随后在子线程中访问界面上的控件的时候会出现异常,不能操作主线程所控制的UI界面。看来这得用到委托技术了!

首先我们定义委托:

public delegate void loadin(string data, int progress);

定义委托用delegate关键字,随后跟着一个返回值(这里void就是没有返回值了)loadin是委托名,后面带着两个参数,分别代表显示载入的数据和载入进度条的数值!

在窗体的Load事件里面我们定义一个子线程,用于在后台载入数据并显示载入情况。

定义线程:

ThreadStart ts = newThreadStart(Downin);...

阅读全文>>

标签: 委托

评论(0) 引用(112) 浏览(21056)


Powered by 兔八哥极品软件 苏ICP备12049267号 sitemap