C# 非同期処理 フリーズしたと思わせないために 

コーディング

ボタンを押したときにU/Iが固まる対策です。

Windowsフォームのボタンクリックイベントでモーション動作を行うと、画面が固まってしまします。
そのため動作は別スレッドで処理をさせる方法が必要となります。

非同期処理のシンプルなコードの描き方

Task.Run(() =>
{
     // ここに処理を記述します


    // [注意]
    // U/Iスレッドではないので、この中で画面のコントロールの編集してはいけません。

    // もし画面を編集する必要がある場合はInvokeを使用して、
    // 描画スレッドに処理を渡してください
    this.Invoke((MethodInvoker)delegate ()
    {
        //ここでFormのコントロールを編集します
    });

});

コメント

タイトルとURLをコピーしました