【C#】Windows.Forms의 이벤트 순서
3698 단어 .NETFrameworkC#
00. 소개
Windows Form의 이벤트 실행 순서는 아래에 설명되어 있습니다.
Windows Forms 이벤트 순서
하지만 안드로이드의 Lifecycle처럼 그림으로 한눈에 알 수 있도록되어 있지 않습니다.
그러므로, 확인을 하면 그림을 일으켜 갑니다.
01. 환경
확인에 사용한 환경입니다.
버전
Windows 10 Pro
1709년
Visual Studio Community 2017
15.6.5
.NET Framework
4.6.1
02. 그림
그림의 wsd
PlantUML은 버전 1.2018.3 사용
@startuml
title Windows.Formsのイベント順序
start
->アプリ起動;
:Control.HandleCreated;
note left
コントロールに対してハンドルが作成されると発生します。
end note
:Control.BindingContextChanged;
note left
BindingContext プロパティの値が
変更された場合に発生します。
end note
:Form.Load;
note left
フォームが初めて表示される直前に発生します。
end note
:Control.VisibleChanged;
note left
Visible プロパティの値が
変更された場合に発生します。
end note
:★1;
:Form.Activated;
note left
フォームがコード内またはユーザーの操作によって
アクティブになると発生します。
end note
if (初めて表示する) then (Yes)
:Form.Shown;
note left
フォームが初めて表示されるたびに発生します。
end note
else (No)
endif
:イベント関係;
split
->フォーカスを失う;
:Form.Deactivate;
note left
フォームがフォーカスを失い
アクティブでなくなると発生します。
end note
->フォーカスを得る;
:★1へ;
detach
split again
->アプリ終了;
:Form.FormClosing;
note right
フォームが閉じる前に発生します。
end note
:Form.FormClosed;
note right
フォームが閉じた後に発生します。
end note
:Form.Deactivate;
note right
フォーカスを失った際と同じイベント
end note
:Control.HandleDestroyed;
note right
コントロールのハンドルが
破棄されているときに発生します。
end note
stop
end split
partition イベント関係 {
partition マウスイベント {
:MouseEnter;
note left
マウス ポインターによってコントロールが入力されると発生します。
(要はマウスポインタがフォーム外から入ってくると発生)
end note
detach
:MouseMove;
note left
マウス ポインターがコントロール上を移動すると発生します。
end note
detach
:MouseHover;
note left
マウスポインタがコントロール上に重なると発生する
(マウスポインタの動きが止まったら?)
end note
detach
:MouseDown;
note left
マウス ポインターがコントロール上にあり、
マウス ボタンがクリックされると発生します。
end note
:MouseUp;
note left
マウス ポインターがコントロール上にあり、
マウス ボタンが離されると発生します。
end note
detach
}
partition キーイベント {
repeat
->キーを押している間繰り返される;
:PreviewKeyDown;
note left
このコントロールにフォーカスがあるときにキーが押された場合、
KeyDown イベントの前に発生します。
end note
:KeyDown;
note left
コントロールにフォーカスがあるときにキーが押されると発生します。
end note
:KeyPress;
note left
コントロールにフォーカスがあるときに、
文字、 スペース、または Backspace キーが押された場合に発生します。
end note
repeat while()
:KeyUp;
note left
コントロールにフォーカスがあるときにキーが離されると発生します。
end note
}
}
@enduml
98. 참고
Windows Forms 이벤트 순서 | htps : // / cs. 미 c 로소 ft. 코 m / 그럼 jp / t t t / f 라메를 rk / uan fu rms / r r r f e ゔ ts
99. 갱신 내역
날짜
내용
2018/05/01
글
Reference
이 문제에 관하여(【C#】Windows.Forms의 이벤트 순서), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/entan05/items/52b35c18170233993c1f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
확인에 사용한 환경입니다.
버전
Windows 10 Pro
1709년
Visual Studio Community 2017
15.6.5
.NET Framework
4.6.1
02. 그림
그림의 wsd
PlantUML은 버전 1.2018.3 사용
@startuml
title Windows.Formsのイベント順序
start
->アプリ起動;
:Control.HandleCreated;
note left
コントロールに対してハンドルが作成されると発生します。
end note
:Control.BindingContextChanged;
note left
BindingContext プロパティの値が
変更された場合に発生します。
end note
:Form.Load;
note left
フォームが初めて表示される直前に発生します。
end note
:Control.VisibleChanged;
note left
Visible プロパティの値が
変更された場合に発生します。
end note
:★1;
:Form.Activated;
note left
フォームがコード内またはユーザーの操作によって
アクティブになると発生します。
end note
if (初めて表示する) then (Yes)
:Form.Shown;
note left
フォームが初めて表示されるたびに発生します。
end note
else (No)
endif
:イベント関係;
split
->フォーカスを失う;
:Form.Deactivate;
note left
フォームがフォーカスを失い
アクティブでなくなると発生します。
end note
->フォーカスを得る;
:★1へ;
detach
split again
->アプリ終了;
:Form.FormClosing;
note right
フォームが閉じる前に発生します。
end note
:Form.FormClosed;
note right
フォームが閉じた後に発生します。
end note
:Form.Deactivate;
note right
フォーカスを失った際と同じイベント
end note
:Control.HandleDestroyed;
note right
コントロールのハンドルが
破棄されているときに発生します。
end note
stop
end split
partition イベント関係 {
partition マウスイベント {
:MouseEnter;
note left
マウス ポインターによってコントロールが入力されると発生します。
(要はマウスポインタがフォーム外から入ってくると発生)
end note
detach
:MouseMove;
note left
マウス ポインターがコントロール上を移動すると発生します。
end note
detach
:MouseHover;
note left
マウスポインタがコントロール上に重なると発生する
(マウスポインタの動きが止まったら?)
end note
detach
:MouseDown;
note left
マウス ポインターがコントロール上にあり、
マウス ボタンがクリックされると発生します。
end note
:MouseUp;
note left
マウス ポインターがコントロール上にあり、
マウス ボタンが離されると発生します。
end note
detach
}
partition キーイベント {
repeat
->キーを押している間繰り返される;
:PreviewKeyDown;
note left
このコントロールにフォーカスがあるときにキーが押された場合、
KeyDown イベントの前に発生します。
end note
:KeyDown;
note left
コントロールにフォーカスがあるときにキーが押されると発生します。
end note
:KeyPress;
note left
コントロールにフォーカスがあるときに、
文字、 スペース、または Backspace キーが押された場合に発生します。
end note
repeat while()
:KeyUp;
note left
コントロールにフォーカスがあるときにキーが離されると発生します。
end note
}
}
@enduml
98. 참고
Windows Forms 이벤트 순서 | htps : // / cs. 미 c 로소 ft. 코 m / 그럼 jp / t t t / f 라메를 rk / uan fu rms / r r r f e ゔ ts
99. 갱신 내역
날짜
내용
2018/05/01
글
Reference
이 문제에 관하여(【C#】Windows.Forms의 이벤트 순서), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/entan05/items/52b35c18170233993c1f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
@startuml
title Windows.Formsのイベント順序
start
->アプリ起動;
:Control.HandleCreated;
note left
コントロールに対してハンドルが作成されると発生します。
end note
:Control.BindingContextChanged;
note left
BindingContext プロパティの値が
変更された場合に発生します。
end note
:Form.Load;
note left
フォームが初めて表示される直前に発生します。
end note
:Control.VisibleChanged;
note left
Visible プロパティの値が
変更された場合に発生します。
end note
:★1;
:Form.Activated;
note left
フォームがコード内またはユーザーの操作によって
アクティブになると発生します。
end note
if (初めて表示する) then (Yes)
:Form.Shown;
note left
フォームが初めて表示されるたびに発生します。
end note
else (No)
endif
:イベント関係;
split
->フォーカスを失う;
:Form.Deactivate;
note left
フォームがフォーカスを失い
アクティブでなくなると発生します。
end note
->フォーカスを得る;
:★1へ;
detach
split again
->アプリ終了;
:Form.FormClosing;
note right
フォームが閉じる前に発生します。
end note
:Form.FormClosed;
note right
フォームが閉じた後に発生します。
end note
:Form.Deactivate;
note right
フォーカスを失った際と同じイベント
end note
:Control.HandleDestroyed;
note right
コントロールのハンドルが
破棄されているときに発生します。
end note
stop
end split
partition イベント関係 {
partition マウスイベント {
:MouseEnter;
note left
マウス ポインターによってコントロールが入力されると発生します。
(要はマウスポインタがフォーム外から入ってくると発生)
end note
detach
:MouseMove;
note left
マウス ポインターがコントロール上を移動すると発生します。
end note
detach
:MouseHover;
note left
マウスポインタがコントロール上に重なると発生する
(マウスポインタの動きが止まったら?)
end note
detach
:MouseDown;
note left
マウス ポインターがコントロール上にあり、
マウス ボタンがクリックされると発生します。
end note
:MouseUp;
note left
マウス ポインターがコントロール上にあり、
マウス ボタンが離されると発生します。
end note
detach
}
partition キーイベント {
repeat
->キーを押している間繰り返される;
:PreviewKeyDown;
note left
このコントロールにフォーカスがあるときにキーが押された場合、
KeyDown イベントの前に発生します。
end note
:KeyDown;
note left
コントロールにフォーカスがあるときにキーが押されると発生します。
end note
:KeyPress;
note left
コントロールにフォーカスがあるときに、
文字、 スペース、または Backspace キーが押された場合に発生します。
end note
repeat while()
:KeyUp;
note left
コントロールにフォーカスがあるときにキーが離されると発生します。
end note
}
}
@enduml
Windows Forms 이벤트 순서 | htps : // / cs. 미 c 로소 ft. 코 m / 그럼 jp / t t t / f 라메를 rk / uan fu rms / r r r f e ゔ ts
99. 갱신 내역
날짜
내용
2018/05/01
글
Reference
이 문제에 관하여(【C#】Windows.Forms의 이벤트 순서), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/entan05/items/52b35c18170233993c1f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(【C#】Windows.Forms의 이벤트 순서), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/entan05/items/52b35c18170233993c1f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)