如果我没有清楚地解释这些,我很抱歉,但是我正在编写一个应用程序,它导致我在线程方面出现了一些问题。向父UI线程报告进度
我有一个用于启动System.Timers.Timer的UI。每次计时器过去时,都会触发一个打开进度屏幕的工作流程。为防止在最后一个工作流完成之前启动另一个工作流,它将锁定主窗体上的对象。 此进度屏幕启动并报告使用FileCopyEX进行某些文件复制的进度。
我遇到的问题是进度屏幕直到工作流程完成后才显示。
希望这将使其更清晰:
主要形式 | Timer Elapses | WorkFlow开始 | 进度屏幕打开(发生的错误可追溯到前一个) | 发生文件复制(进度报告回到进度屏幕) 如果没有错误,则在下一次打勾前返回到主屏幕。
直到现在我只实现了非常简单的线程,所以我不确定如何最好地实现这一点。我已经尝试在BackGroundWorker上启动工作流程以将其从UI线程分离,但它的行为相同。
感谢
你的问题开始于System.Timers.Timer,Elapsed在另一个线程上运行。之后它变得很不清楚。关注BackgroundWorker。 – 2011-03-23 17:23:56