==[[C# 非同期処理からUIスレッドにアクセスし画面を更新する]]==
[[C Sharp]] |
===例===
<pre>public partial class MainForm : Form
{
public MainForm()
{
}
private async void btnHoge_Click(object sender, EventArgs e)
{
await CrawlGuppy();
}
private async Task CallBusyService()
{
IProgress<string> progress = new Progress<string>(msg =>
{
lblStatus.Text = $"処理中・・・{msg}";
});
await Task.Run(() =>
{
(new Service()).DoBusyTask(progress, "some parameter");
});
}
}
public class Service()
{
public void DoBusyTask(IProgress<string> progress, string param)
{
progress.Report("Message");
}
}
</pre>
===例===