当前位置:编程学习 > C#/ASP.NET >>

VB.NET 的 后台线程(主线程)如何让它所属的主线程执行一个方法或事件(可以再附加分)

.NET Framework 中有这样一个 BackgroundWorker 控件。相对于 System.Threading.Thread 类,使用 BackgroundWorker 控件实现多线程操作要相对简单。 BackgroundWorker 控件中有一个 ProgressChanged 方法。这个方法可以在控件实现的后台线程的任何时候向主线程传递数据并触发一个 ProgressChanged 事件。传送的数据有 2 个参数,一个是 Object 类型,另外一个是 Int32 类型。 ProgressChanged 事件的过程是在主线程中运行的,因此它能够对主线程创建的对象进行任意访问。通常在 ProgressChanged 事件中补充显式的修改语句让用户了解后台进程的运行情况,例如进度和任务单项文字等。 我现在想写一个类似的程序,最大的问题是不知道怎样在后台线程中让前台线程执行一个方法或触发一个事件并且能够传递 Object 类型的参数。请高手赐教.........谢谢!!
补充:==========
“tonnychenfd”你不要太天真了,如果这么简单就能够解决的话就不用搞这么多东西,甚至连 Windows 这样的多任务系统都不需要了。
答案:去看看http://blog.zhaoxi.net/易做图1010/archive/2006/04/28/695363.aspx
其他:其实最简单的方法是设置一个全局的变量,然后加一个timer,不停显示最新的变量值 你是不说有ProgressChanged事件么,那么就在这个事件中来进行啊!

可以让前台线程监视一个变量,由后台线程去改变这个变量,有时要注意跨线程访问变量需要托管。

上一个:vb.net做WINFORM程序如何运行更快?
下一个:vb.net 怎么取得一段日期内的所有日期

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,