-4

非常に長いコードのスケジューリング処理のすべてのステップを通じて、結果をリッチテキスト ボックスに書き留めます。行数が数千行を超える可能性があるため、アプリケーションは「応答なし状態」に陥り、ちょうどこの問題を偶然発見しました。このステップを無効にします。しかし、アプリの処理履歴の完全な説明を取得する方法がまだ必要です。代替案はありますか

私のコードはそのようです:

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 に答える