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.