첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
유용한 소스 코드가 있으면 icodebroker@naver.com으로 보내주시면 감사합니다.
블로그 자료는 자유롭게 사용하세요.

■ Form 클래스 : 애플리케이션 실행시 메인 폼을 바로 숨기기

----------------------------------------------------------------------------------------------------

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

 

 

• Visible 속성은 Load 이벤트시 설정의 의미가 없다.

• Load 이벤트시 Visible = false가 실행되지만,

   내부적으로 Load 이벤트를 호출한 SetVisibleCore 메소드에 의해 Visible 속성이 다시 true로 설정되기 때문이다.

결론적으로 폼이 숨겨지지 않고 표시된다.

 

 

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

 

 

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

 

 

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

 

 

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

 

   #region 표시 설정하기 - SetVisible(visible)

 

   /// <summary>

   /// 표시 설정하기

   /// </summary>

   /// <param name="visible">표시 여부</param>

   protected override void SetVisibleCore(bool visible)

   {

       base.SetVisibleCore(false);

   }

 

   #endregion

 

 

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

 

 

• 메인 폼을 Dummy 폼으로 설정하고 Application.Run 메소드에서 호출한다.

• Dummy 폼은 SetVisibleCore 메소드를 재정의해서 숨긴다.

• 실제 작업을 하는 폼이 메인 폼의 역할을 수행하게 한다.
   예를 들어 Dummy 폼은 NotifyIcon과 ContextMenu만 포함하고 모든 기능은 실제 메인 폼에서 수행하는 구조를 만든다.

 

----------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker
TAG

댓글을 달아 주세요