2013-06-21 102 views
-1

我想做一個Windows窗體應用程序,顯示所有正在運行的任務,而他們正在運行。如果我想要,我想單獨停止任務。我有應用程序作爲控制檯應用程序工作,但是當我嘗試將其構建爲Windows窗體應用程序時,它就會出現問題。這是我的代碼如何工作。多線程與Windows窗體C#

    • 使任務
    • 其存儲在一個列表
    • 啓動任務=
  • 結束循環

我想顯示此列表中一個列表視圖在我的表單中,並每隔幾秒更新一次顯示其名稱和狀態這個任務。可以有人幫助我,或者建議閱讀好多線程。 謝謝。

+0

你能提供代碼嗎? – kobigurk

+7

*「當我嘗試將它構建爲Windows窗體應用程序時,它會出現問題」*您從來沒有告訴過我們什麼是錯誤的,請詳細解釋您得到的錯誤(如果有的話)以及您看到的行爲和行爲你期望看到。也請包括任何可能與錯誤相關的代碼。 –

+0

「它擰緊」 - 肯定問題比這更具體?喜歡,也許那裏有一個_exception_? – Brian

回答

3

我有作爲控制檯應用程序工作的應用程序,但是當我嘗試將它構建爲Windows窗體應用程序時,它就會關閉。

前提是你沒有端口到Windows窗體中改變你的邏輯,這可能是由於更新的Windows窗體從任務中後臺線程控制。

您只能從主(UI)線程使用Windows窗體控件,而不能使用後臺線程。如果要執行UI的更新,則需要使用Control.InvokeControl.BeginInvoke將回調編組回到UI線程。

+0

我覺得這可能是這個問題,但我didn在我們從OP獲得更多細節之前,我們不想跳到任何結論。 –

+0

@ScottChamberlain是的 - 我質疑它,但鑑於OP指定他們有一個「在控制檯應用程序中的工作版本」,並切換到Windows窗體,它不工作,這是總體上,線程#1的問題和Windows窗體,所以我會給它很大的可能性成爲問題:) –