我的應用程序中有一個子表單。這個表格有50多個組合框,每個人都從數據庫獲取數據。所有的combobex都在表單的加載事件中加載。數據很大。數據檢索大約需要2分鐘。當我打開此表單時,我的整個應用程序變得無法響應。大約2分鐘後,應用程序掛起並且獲得生命:/在C#Winforms中使用多線程的響應式GUI
正如我所研究的,我們可以使用不同的線程來避免這種情況。有人可以指導,有可能,安全可靠地實現多線程,以使我的應用程序響應?
請指導我寫一個示例代碼,如果可能的話,多線程如何在c#中工作。你可以簡單地使用一個表單來解釋一個表單,該表單將datatable作爲daTASOURCE在一個單獨的線程中使用,並且GUI甚至可以響應數據庫需要太多時間......任何幫助都會被讚賞。
你想要異步加載,同時也努力不要讓太多的線程在GUI上徘徊。 您是否嘗試過啓動一個簡單的線程來爲您執行該呼叫,並在回調通知您準備好時通知您? – Shark 2013-04-26 10:55:48
有關.NET中線程的最佳教程之一:http://www.yoda.arachsys.com/csharp/threads/index.shtml – jAC 2013-04-26 10:57:12
親愛的鯊魚,我從來沒有實現過多線程。這就是我在這裏問的原因。如何實施?實施安全嗎?什麼時候不應該實施? 你能給我發送一個示例代碼,它將填充數據庫中的數據表,然後在表單的加載事件中分配給gruidview。即使數據恢復可能需要2分鐘以上,應用程序仍然可以響應... – user2109843 2013-04-26 10:58:58