「C Sharp 非同期処理からUIスレッドにアクセスし画面を更新する」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「==C# 非同期処理からUIスレッドにアクセスし画面を更新する== [C#] ===例=== *Task と Invoke と Delegete を利用 public partial class Form1…」) |
|||
| 1行目: | 1行目: | ||
==C# 非同期処理からUIスレッドにアクセスし画面を更新する== | ==C# 非同期処理からUIスレッドにアクセスし画面を更新する== | ||
| − | [C#] | + | [[C#]] |
===例=== | ===例=== | ||
| 15行目: | 15行目: | ||
public void DoAsyncTaskButton_Click() | public void DoAsyncTaskButton_Click() | ||
{ | { | ||
| − | Task task = Task.Factory.StartNew(() = | + | Task task = Task.Factory.StartNew(() => |
{ | { | ||
while (true) | while (true) | ||
2020年2月15日 (土) 08:00時点における版
C# 非同期処理からUIスレッドにアクセスし画面を更新する
例
- 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);
}
});
}
}
© 2006 矢木浩人