2009-11-23 63 views

回答

17

Control.LeaveControl.LostFocus

當您使用鍵盤( + ,等等)來改變焦點,通過調用SelectSelectNextControl方法或通過將ContainerControl.ActiveControl屬性設置爲當前表單,焦點事件按以下順序發生:

  1. Enter
  2. GotFocus
  3. Leave
  4. Validating
  5. Validated
  6. LostFocus

當您使用鼠標或致電更改焦點方法,焦點事件發生以下順序:

  1. Enter
  2. GotFocus
  3. LostFocus
  4. Leave
  5. Validating
  6. Validated

如果CausesValidation屬性設置爲false,則會禁止ValidatingValidated事件。

+0

這很奇怪,當我用鼠標失去焦點時,由於某種原因,我沒有得到Validated事件觸發。 – 2009-11-23 22:20:45

+0

某些控件可能無法觸發它;也可以將CausesValidation設置爲'false'。並且「驗證」不是嚴格的焦點事件,因爲在中,您不應將其用作「焦點丟失」事件。它用於驗證目的。 – Joey 2009-11-23 23:10:25

+0

謝謝Johannes。 – 2009-11-24 22:27:07

1

Control.LostFocus。

+2

它沒有在TextBox屬性編輯器下列出。你知道爲什麼嗎? – 2009-11-23 22:07:10

+2

只在屬性編輯器中未顯示。您可以從代碼後面添加它。如果Control.Leave按Johannes的建議存在,那麼你也可以使用它。 – 2009-11-23 22:12:13

+5

它沒有顯示在屬性窗口中,因爲事件標有[BrowsableAttribute(false)] http://msdn.microsoft.com/en-us/library/system.componentmodel.browsableattribute.aspx – 2009-11-23 22:14:29

0

'Control.LostFocus'

+2

它沒有被列出在TextBox屬性編輯器下。你知道爲什麼嗎? – 2009-11-23 22:07:55