C#Windows控件的焦点事件顺序
网摘,收集整理,MSDN也有讲到此内容。
TextBox 控件的事件发生顺序为Enter、GotFocus、Leave、Validating、 Validated、LoseFocus,也就是说程序焦点先“进入”控件,然后控件“得到焦点”,然后焦点“离开”控件,这个时候焦点在控件内干的事情还没有存入,于是“校验”,然后存入,存入完了发生“校验完”事件,善后处理完毕后控件就“失去焦点”。
测试TextBox事件的结果,如有不对,还望更正。
一、用鼠标点击控件,然后离开。
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