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