我有一个WindowsForms应用程序,希望能够利用异步Task。我遇到了几个问题:
您如何处理ContinueWith,以便可以在表单中运行延续?
如果可以在任务完成之前关闭表格怎么办?
private void buttonGo_Click(object sender, EventArgs e)
{
val t = RunSomethingAsync().ContinueWith( p => { OnRunDone(); });
}
private void OnRunDone()
{
Invoke( p => { button.Enabled = true; });
}
答案 0 :(得分:0)
我想我明白了。我只是不太了解等待/异步的工作方式。解决方案是:
private async void buttonGo_Click(object sender, EventArgs e)
{
await RunSomethingAsync();
OnTaskComplete();
}
private void OnTaskComplete()
{
label1.Text = "Done";
}
private async Task RunSomethingAsync()
{
await Task.Delay(1000);
}