私は単純なテキストボックスを持っており、私はValidatingハンドラ内でDelay Taskを待っています。 Validatedハンドラは、e.Cancel = true
を持っているかどうかにかかわらず、常に呼び出されます!待機中の呼び出しを省略すると、検証は期待どおりに行われることに注意してください。なぜこれが起こるのですか?検証イベントハンドラをasync/await(C#)で使用できないのはなぜですか?
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
@Sinatrこれは私が最後にしたことです...私はちょうどこれについての説明を知りたいと思っていました。 –