반응형
Winform 개발 시 UserControl 같은곳에서 Load Event시 Database Call 혹은 실제로 런타임 중에만 실행되야 되는 코드가 있을 경우 DesignMode로 구분이 필요합니다.
샘플코드
bool isInWpfDesignerMode = (LicenseManager.UsageMode == LicenseUsageMode.Designtime);
bool isInFormsDesignerMode = (System.Diagnostics.Process.GetCurrentProcess().ProcessName == "devenv");
// Winform 에서 폼에서 직접 사용시 아래와 같은 프로퍼티를 추가한후 사용한다.
private bool IsInFormsDesignerMode
{
get
{
return (System.Diagnostics.Process.GetCurrentProcess().ProcessName == "devenv");
}
}
private void Form1_Load(object sender, System.EventArgs e)
{
if (IsInFormsDesignerMode) // 디자인모드에서 실행을 막는다
return;
// 실제 로직
}
출처: https://stackoverflow.com/questions/1166226/detecting-design-mode-from-a-controls-constructor
반응형
'프로그래밍 > C#' 카테고리의 다른 글
[C#] Winform/Devexpress GridView DoubleClick Event (0) | 2023.06.29 |
---|---|
[C#] 경로 유효성 체크 - IsValidPath (0) | 2023.03.23 |
[C#] 레지스트리 등록, 조회, 삭제 (0) | 2023.03.23 |
[C#] 참조 없이 인스턴스 생성하는 방법 (0) | 2023.03.21 |
[C#] winform MessageBox Topmost로 띄우기 (0) | 2023.03.06 |