トップ 差分 一覧 ping ソース 検索 ヘルプ PDF 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);
            }
        });
    }
}



YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto

Copyright© 矢木 浩人 All Rights Reserved.