첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170

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

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

 

728x90

 

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

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

 

300x250

 

▶ 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만 포함하고 모든 기능은 실제 메인 폼에서 수행하는 구조를 만든다.

 

728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요