请教,关于textbox控件的焦点事件顺序中,CancelEventArgs.Cancel=true的疑惑
一、用鼠标点击控件,然后离开。
Enter GotFocus LostFocus Leave Validating Validated
二、用鼠标,当 Validating 中 CancelEventArgs.Cancel = true 时:
Enter GotFocus LostFocus Leave Validating Enter GotFocus
三、用tab键经过一个控件时。
Enter GotFocus KeyUp Leave Validating Validated LostFocus
四、用tab键当 Validating 中 CancelEventArgs.Cancel = true 时
Enter GotFocus KeyUp Leave Validating Enter KeyUp
以上这些都没有问题,问题是:Validating中CancelEventArgs.Cancel = true,且当上一次用tab键经过,本次用鼠标点击别处离开时,会按照Lostfocus Leave Validating Enter GotFocus的顺序,运行两遍。这是为什么,请高手解惑。万分感谢。
------解决方案--------------------不管是哪一个顺序,用CancelEventArgs.Cancel = true后总是会取消排在Validating事件后面的其它事件.