2011-02-03 55 views
0

我有了创建还原点的选项程序...计划锁定在执行某些任务

我的问题是,当你点击它这样做,该方案只是锁定,直到它完成时创建还原点。

我已经把一个单独的窗体上的程序,它有一个字幕进度条控件,我下载了,这样的想法是......

用户点击“创建还原点”

frmRestore.show 跑马灯进度条的推移和而创建还原点 还原点完成 frmRestore.hide

的事情是,当您单击创建还原点,形式表演和节目刚刚锁定了,onces的还原点创建e形式再次隐藏。

这个问题可以通过后台工作来解决吗?说实话,我并不完全确定它做了什么,我用控制系统搞砸了,但似乎找不到任何有用的东西。

谢谢

回答

1

您需要将恢复过程放在单独的线程中。如果你的程序不是多线程的,那么它将工作线性和锁定,直到它完成它正在做的任务。

+0

感谢所有的答复...我远离VB.NET的专家,你如何使用一个新的线程?或者如何让程序多线程化。 – Coozbiscuit 2011-02-03 16:05:44

1

程序被锁定,因为你在主线程上做了一些密集的工作。

它是这样一个GUI应用程序:

//做一些东西

//响应系统和重绘GUI

//做一些东西

//响应到系统和重绘gui

而当你阻止“/ /做一些东西”程序将无法作出回应,并重新绘制GUI直到做一些事情完成。

你需要做的是使用辅助线程或使用后台工作人员像你说的。线程是一样,你可以做的东西在里面,而不会阻塞系统或GUI

希望这有助于

0

我从来没有认真使用VB,但我认为相同的概念适用于QT(约开始咆哮Qt在这里更好)。

我不确定VB是否使用GUI线程或只是一个统一的线程,但我认为你的问题是GUI线程正在执行很长的非GUI操作,导致它“锁定”。当它“锁定”时,程序正在等待任务完成,因此不会让你与之交互。

使用一个单独的线程...