【发布时间】:2017-07-11 22:39:42
【问题描述】:
A 有一个简单的文本框,我在验证处理程序中等待延迟任务。 Validated 处理程序总是被调用,不管我是否有e.Cancel = true!请注意,如果我省略 await 调用,验证将按预期进行。为什么会这样?
private async void textBox1_Validating(object sender, CancelEventArgs e)
{
await Task.Delay(2000);
e.Cancel = true;
}
private void textBox1_Validated(object sender, EventArgs e)
{
MessageBox.Show("THIS WILL ALWAYS BE CALLED!");
}
【问题讨论】:
-
你真的需要使用
Validated事件吗?只需运行Validating中的所有内容。 -
@Sinatr 这就是我最终所做的……我只是想知道对此的解释。
标签: c# async-await validating