2015-07-21 63 views
0

也許這是一個新手問題,但我是一個新手。我有一個程序,它做了一個冗長的任務,而它做到了,窗體保持凍結,如果它的最小化它不能最大化等等。我該如何解決這個問題。 此外,程序以循環運行,並在每次迭代中逐行將信息打印到列表框中。問題是,列表框沒有被寫入,直到整個循環結束。我該如何改正這一點。當運行冗長的任務時程序凍結

+1

看看'BackgroundWorker'。 – Blorgbeard

+0

這是因爲你正在UI線程上做東西。在忙於您的計算時,您無法與UI進行交互。您需要在單獨的線程中執行它們(即任務或BackgroundWorker)。關於Google上的SO和資源的問題很多。 –

+1

[WinForm應用程序UI在長時間運行期間掛起]的可能重複(http://stackoverflow.com/questions/1216791/winform-application-ui-hangs-during-long-running-operation) –

回答

2

您可以使用ThreadBackgroundWorker來完成您的工作。
從UI調用冗長的代碼將阻止UI線程和應用程序'凍結'。