トップ 一覧 ping 検索 ヘルプ RSS ログイン

C# 非同期処理からUIスレッドにアクセスし画面を更新するの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!C# 非同期処理からUIスレッドにアクセスし画面を更新する
[C#]

!!例
*Task と Invoke と Delegete を利用

 public partial class Form1 : Form
 {        
     public delegate void UpdateStatusHandler(string msg);
 
     public void UpdateStatus(string msg)
     {
         lblStatus.Text = msg;
     }
     
     public void DoAsyncTaskButton_Click()
     {
         Task task = Task.Factory.StartNew(() =>
         {
             while (true)
             {
                 string msg = ""; // some messages
                 lblStatus.Invoke(new UpdateStatusHandler(UpdateStatus), msg);
             }
         });
     }
 }