[C#/WINFORM] Form 클래스 : 애플리케이션 실행시 메인 폼을 바로 숨기기

■ Form 클래스에서 애플리케이션 실행시 메인 폼을 바로 숨기는 방법을 보여준다.

1. Load 이벤트시 Visible 속성을 false로 설정하는 방법

• Visible 속성은 Load 이벤트시 설정의 의미가 없다.
• Load 이벤트시 Visible = false가 실행되지만,
내부적으로 Load 이벤트를 호출한 SetVisibleCore 메소드에 의해 Visible 속성이 다시 true로 설정되기 때문이다.
• 결론적으로 폼이 숨겨지지 않고 표시된다.

2. Shown 이벤트 또는 타이머를 이용해 Visible 속성을 false로 설정하는 방법

• 잠시나마 보였다가 숨겨지는 깜박임 현상이 발생한다.

3. SetVisibleCore 메소드를 재정의하는 방법

• 문제점은 폼을 다시 보이게 할 방법이 없다는 점이다.

예제 코드 (C#)

4. SetVisibleCore 메소드와 Dummy 폼을 사용하는 방법

• 메인 폼을 Dummy 폼으로 설정하고 Application.Run 메소드에서 호출한다.
• Dummy 폼은 SetVisibleCore 메소드를 재정의해서 숨긴다.
• 실제 작업을 하는 폼이 메인 폼의 역할을 수행하게 한다. 예를 들어 Dummy 폼은 NotifyIcon과 ContextMenu만 포함하고 모든 기능은 실제 메인 폼에서 수행하는 구조를 만든다.

Advertisements