我尝试了一个简单的代码来测试在winform中工作的任务:
private void button1_Click(object sender, EventArgs e)
{
Task.Run(Counting).ContinueWith(CheckTaskResult);
}
private void CheckTaskResult(Task task)
{
if (task.IsFaulted)
{
//exception found
}
}
public async Task Counting()
{
var status = await Task.FromResult("Done");
// why it works
button1.Text = DateTime.Now.ToString();
}
我当然在CheckTaskResult
函数中遇到错误(每个人都知道原因),但奇怪的是button1.Text
也发生了变化。
为什么会发生错误 - 控件是否同时发生变化?