2013-10-18 125 views
-4

更新richtextbox時,掛起了C#WinForm應用程序,我將結果寫入了一個richTextBox,其行數可能會超過數千行,應用程序將落入「沒有響應的狀態「,我發現這個問題偶然,當我禁用這一步。但是,我仍然需要一個辦法讓我的應用程序處理歷史的完整描述,你有什麼其他建議當我通過處理步驟

我的代碼看起來像:

public void mycode() 
{ 
//code part one 
richTextBox1.text += "result is: abc"; 

//code part two 
richTextBox1.text += "result is: efg"; 

//code part three 
richTextBox1.text += "result is: hij"; 

} 
+3

問題是沒有意義的。 –

+0

@MitchWheat,這是一個真正的問題,當我在richtextbox中有幾百行以毫秒爲單位處理時 – user2888402

+1

是的,而且你已經解釋得非常好......它正確地解決了一些最糟糕的問題,在5年內有不幸看到。 –

回答

1

我會建議你將你的長期運行的任務到一個單獨的線程。從長遠來看,任何其他方法都會給你帶來痛苦。嘗試保持GUI更新正確並在GUI線程中運行長任務時響應事件是非常容易出錯的,因此最好不要去那裏。

這裏閱讀這篇文章,它是在WinForms的圖形用戶界面上的多線程出發點非常明確:http://msdn.microsoft.com/en-us/library/vstudio/ms171728(v=vs.100).aspx