問題タブ [appendtext]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-studio - 最小化後にフォーカスを移動すると、非同期に更新された TextBox を使用する Winform アプリケーションがハングする (応答しない)
C# Winform Visual Studio アプリケーションは、数時間使用すると「応答なし」でハングし、アプリケーションを閉じる Windows ポップアップが表示されます。これは、コンピューターへのリモート デスクトップを開始するとき、または最小化後にアプリケーション ウィンドウにフォーカスを移動するときによく発生します。
アプリケーションは、フォーカスを合わせるときに CPU をフルに消費し、このプロセスで次第に遅くなります。
Windows フォームは、RS232 経由でデバイスを制御するためのマルチスレッド GUI です。デバッグ出力用のテキストボックスを 1 秒間に数回使用します。テキストボックスへの書き込みは、非同期メソッドで行われます。
void asyncAppendTextBox(TextBox tb, string str)
{
if (IsHandleCreated)
{
tb.BeginInvoke(
new Action(() =>
{
tb.AppendText(str + appLifetimeSW.ElapsedMilliseconds.ToString());
}
));
}
}