|
离开方式 |
使用Tab键或set Focus |
使用鼠标点击 |
|
触发顺序 |
Leave--Validating--Validated--LostFocus |
LostFocus--Leave--Validating--Validated |
另外若将要移动到的下一个控件的CausesValidation为false时,则原控件的Validating和Validated事件并不会触发。它们将会发生在下一次焦点移动到CausesValidation为true的控件的GotFocus事件之前。而且若这个CausesValidation为true的控件为自身,也不会引发这两个事件,在MSDN中好像也没有非常明确的说明。
A,C的CausesValidation为true,B的CausesValidation为false 用鼠标点击移动
| 移动顺序 |
A--B--C |
A--B--A |
| 触发顺序 |
A.LostFocus--A.Leave--B.GotFocus--B.LostFocus--B.Leave--A.Validating--A.Validated--C.GotFocus |
A.LostFocus--A.Leave--B.GotFocus--B.LostFocus--B.Leave--A.GotFocus |
第一组中A的Validating和Validated事件发生在C的GotFoucus之前,而第二组中A的第一次Validating和Validated事件就不会发生了