ボタンを押したときにU/Iが固まる対策です。
Windowsフォームのボタンクリックイベントでモーション動作を行うと、画面が固まってしまします。
そのため動作は別スレッドで処理をさせる方法が必要となります。
非同期処理のシンプルなコードの描き方
Task.Run(() =>
{
// ここに処理を記述します
// [注意]
// U/Iスレッドではないので、この中で画面のコントロールの編集してはいけません。
// もし画面を編集する必要がある場合はInvokeを使用して、
// 描画スレッドに処理を渡してください
this.Invoke((MethodInvoker)delegate ()
{
//ここでFormのコントロールを編集します
});
});
コメント