C# winforms アプリケーションを作成しました。今、私はテキストボックスで出力を更新する膨大な数のクランチ関数を呼び出すボタンがたくさんあるフォームを持っています。テキストボックス内のテキストを更新する関数にデリゲートを渡す textbox.begininvoke() メソッドを呼び出しますが、テキストが巨大な場合、キャンセルボタンをクリックできないため、フォームは応答しません。フォーム全体の応答性を維持し、更新も継続する方法はありませんか。データが来るときにユーザーに表示する必要があります。すべてをバッファリングして最後に表示することはできません。また、独自のバッファを実装し、特定の間隔でデータを表示しようとしましたが、これは少量のテキストにはうまく機能しますが、大量のテキストでは UI が応答しません。助けはありますか?ありがとう
いくつかの混乱が生じているため、質問を更新します
- 別のスレッドで数値処理関数を呼び出しました。
- その数値計算関数は、データが到着してテキストボックスを更新するたびに control.begininvoke 関数を呼び出します
- MY UI が表示され、出力が表示されますが、データが膨大な場合、UI は表示されますが、他のアクティビティを実行できません。