http://msdn.microsoft.com/ja-jp/library/system.windows.forms.control.enter.aspx
忘れやすいイベント発生順。「msdn enter」のキーワードで検索すると出てくる。
基本はEnter/Leaveの内側にGotFocus/LostFocusがあって、最後にValidateが走るという形だが、なぜかLostFocusの呼ばれるタイミングが違う。
キーボードで移動したとき
キーボード (Tab、Shift + Tab など) を使用するか、
Select メソッドまたは SelectNextControl メソッドを呼び出すか、
ContainerControl.ActiveControl プロパティを現在のフォームに設定してフォーカスを変更するとき
↓
Enter GotFocus Leave Validating Validated LostFocus
マウスで移動したとき
マウスを使用するか Focus メソッドを呼び出してフォーカスを変更するとき、
↓
Enter GotFocus LostFocus Leave Validating Validated