W nawiązaniu do this MSDN page (lub powiązanej strony w tej sprawie), stwierdza, że:Dlaczego zdarzenie LostFocus jest wywoływane w różnym czasie?
Po zmianie ostrości za pomocą klawiatury, koncentrują się wystąpić zdarzenia w następującej kolejności:
- Wprowadź
- GotFocus
- Zostaw
- Members
- Zatwierdzone
- LostFocus
Jednak podczas korzystania z myszki, aby podnieść zdarzenia, zmiany kolejności!
Po zmianie ostrości za pomocą myszy lub poprzez wywołanie metody Focus, Focus zdarzenia w następującej kolejności:
- Wprowadź
- GotFocus
- LostFocus
- Pozostaw
- Sprawdzanie poprawności
- Sprawdzono:
Czy to nie byłby łańcuch wydarzeń zupełnie inny? Moja interpretacja polega na tym, że łańcuch klawiatury zapewnia, że wszystko działa, a następnie podnosi wydarzenie LostFocus
. Jednak zdarzenia myszy wydają się podnosić je przed zatwierdzeniem z jakiegoś powodu. Dlaczego?
Czy to jest ostrożność! w artykule MSDN powiązałeś słowa wystarczająco silne? Nigdy nie używaj LostFocus, tylko Opuść. Teraz to już nie ma znaczenia. –
Nie ustawiam jednak ostrości. Jestem tylko ciekawy, dlaczego zamówienie zmienia się w zależności od metody wprowadzania danych. –
Nawigacja po klawiaturze musi być w tej kolejności, aby zastosować sprawdzanie poprawności. Są one przeznaczone do reagowania na nie w celu sprawdzenia poprawności wprowadzonych łańcuchów.Znaczenie: Jeśli przejdziesz przez Twoje "pola tekstowe" Otrzymasz kolejną kolejność zdarzeń, a następnie nawigację za pomocą myszy, co pozwoli Ci reagować BEZPOŚREDNIO po wydaniu danych wejściowych. Czy to ci pomogło? – icbytes