C#Windows控件的焦點(diǎn)事件順序
網(wǎng)摘,收集整理,MSDN也有講到此內(nèi)容。
TextBox 控件的事件發(fā)生順序為Enter、GotFocus、Leave、Validating、 Validated、LoseFocus,也就是說程序焦點(diǎn)先“進(jìn)入”控件,然后控件“得到焦點(diǎn)”,然后焦點(diǎn)“離開”控件,這個(gè)時(shí)候焦點(diǎn)在控件內(nèi)干的事情還沒有存入,于是“校驗(yàn)”,然后存入,存入完了發(fā)生“校驗(yàn)完”事件,善后處理完畢后控件就“失去焦點(diǎn)”。
測(cè)試TextBox事件的結(jié)果,如有不對(duì),還望更正。
一、用鼠標(biāo)點(diǎn)擊控件,然后離開。
Enter
GotFocus
LostFocus
Leave
Validating
Validated
二、用鼠標(biāo),當(dāng) Validating 中 CancelEventArgs.Cancel = true 時(shí):
Enter
GotFocus
LostFocus
Leave
Validating
Enter
GotFocus
三、用tab鍵經(jīng)過一個(gè)控件時(shí)。
Enter
GotFocus
KeyUp
Leave
Validating
Validated
LostFocus
四、用tab鍵當(dāng) Validating 中 CancelEventArgs.Cancel = true 時(shí)
Enter
GotFocus
KeyUp
Leave
Validating
Enter
KeyUp