-4

通过我很长的代码调度处理的每一步,我将结果写到一个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";

}
4

1 回答 1

1

我建议您将长时间运行的任务移至单独的线程。从长远来看,任何其他方法都会给你带来痛苦。在 GUI 线程本身中运行长任务时尝试正确更新 GUI 并响应事件非常容易出错,因此最好不要去那里。

在这里阅读这篇文章,它很清楚作为 WinForms GUI 中的多线程的起点:http: //msdn.microsoft.com/en-us/library/vstudio/ms171728 (v=vs.100).aspx

于 2013-10-18T01:41:03.623 回答