如何使用c#在.net中运行后台进程

时间:2010-02-04 06:43:05

标签: c# .net process background

我必须使用线程和后台工作程序在后台运行进程。这个过程做了从数据库中检索数据的任务,它成功检索我无法将数据显示到datagridview中,有一些数据错误事件。

2 个答案:

答案 0 :(得分:3)

BackgroundWorker有一个内置的RunWorkerCompleted回调方法,你可以将其连接到它,并自动处理跨线程编组到UI线程。在致电RunWorkerAsync之前,您可以加入RunWorkerCompleted活动。

backgroundWorker1.RunWorkerCompleted += 
                new RunWorkerCompletedEventHandler(
            backgroundWorker1_RunWorkerCompleted);

backgroundWorker1_RunWorkerCompleted中,您可以绑定网格或将DataSource属性设置为DataTable,它将位于UI线程上。

如果您已经完成此操作并且收到错误,那么它可能只是DoWork /线程代码本身中未处理的异常。如果是这种情况,请在try catch中包裹RunWorkerAsync调用,看看你得到了什么。

希望有帮助...

答案 1 :(得分:-2)

可能是您无法修改DataGridView控件。 组 CheckForCrossThreadcalls = false ,它可能有用