2011-02-03 42 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操作,導致它「鎖定」。當它「鎖定」時,程序正在等待任務完成,因此不會讓你與之交互。

使用一個單獨的線程...