Hatena::ブログ(Diary)

くらげのChangeLog

2010-07-15

[]Control.Enter イベント (System.Windows.Forms)

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

トラックバック - http://d.hatena.ne.jp/ku__ra__ge/20100715/p4