2009-11-23 12 views

Odpowiedz

17

Control.Leave lub Control.LostFocus:

Po zmianie ostrości za pomocą klawiatury (, + , i tak dalej), przez wywołanie metod Select lub SelectNextControl lub przez ustawienie właściwości ContainerControl.ActiveControl w bieżącej formie, fokusy pojawiają się w następującej kolejności:

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

Po zmianie ostrości za pomocą myszy lub poprzez wywołanie Focus metoda, imprezy ostrości występuje w następującej kolejności:

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

Jeśli właściwość CausesValidation jest ustawiona na wartość false, zdarzenia Validating i Validated są pomijane.

+0

To jest dziwne, kiedy tracę skupienie za pomocą myszki, nie otrzymuję Zwalidowanego zdarzenia na ogień z jakiegoś powodu. –

+0

Niektóre elementy sterujące mogą go nie uruchamiać; także PrzyczynyValidacja może być ustawiona na "fałsz". A 'Validated' nie jest ściśle fokusowym wydarzeniem, ponieważ nie powinieneś używać go jako zdarzenia" utraconego skupienia ". Jest przeznaczony do sprawdzania poprawności. – Joey

+0

Dzięki Johannes. –

1

Control.LostFocus.

+2

Nie ma na liście w edytorze właściwości TextBox. Wiesz dlaczego? –

+2

Po prostu nie jest wyświetlany w edytorze właściwości. Możesz dodać go z kodu z tyłu. Jeśli Control.Leave istnieje, jak Johannes zasugerował, możesz użyć tego również. –

+5

Nie jest wyświetlany w oknie właściwości, ponieważ zdarzenie jest oznaczone [BrowsableAttribute (false)] http://msdn.microsoft.com/en-us/library/system.componentmodel.browsableattribute.aspx –

0

'Control.LostFocus'

+2

Nie ma na liście w edytorze właściwości TextBox. Wiesz dlaczego? –