Overridable
클래스의 WindowsFormsApplicationBase 멤버를 재정의하여 애플리케이션 모델에 기능을 추가할 수 있습니다. 이 기술을 사용하면 애플리케이션 모델의 동작을 사용자 지정하고 애플리케이션이 시작 및 종료됨에 따라 사용자 고유의 메서드에 호출을 추가할 수 있습니다.
애플리케이션 모델의 시각적 개요
이 섹션에서는 Visual Basic 애플리케이션 모델의 함수 호출 시퀀스를 시각적으로 표시합니다. 다음 섹션에서는 각 함수의 용도를 자세히 설명합니다.
다음 그래픽은 일반 Visual Basic Windows Forms 애플리케이션의 애플리케이션 모델 호출 순서를 보여 줍니다. 시퀀스는 Sub Main
프로시저가 Run 메서드를 호출할 때 시작됩니다.
Visual Basic 애플리케이션 모델에서는 StartupNextInstance 이벤트와 UnhandledException 이벤트도 제공합니다. 다음 그래픽에서는 이러한 이벤트를 발생시키는 메커니즘을 보여 줍니다.
기본 메서드 재정의
Run 메서드는 Application
메서드들이 실행되는 순서를 정의합니다. 기본적으로 Windows Forms 애플리케이션에 대한 Sub Main
프로시저는 Run 메서드를 호출합니다.
애플리케이션이 일반 애플리케이션(다중 인스턴스 애플리케이션) 또는 단일 인스턴스 애플리케이션 Run 의 첫 번째 인스턴스인 경우 메서드는 다음 순서로 메서드를 실행합니다 Overridable
.
OnInitialize; 기본적으로 이 메서드는 본 애플리케이션 스레드(애플리케이션에서 Windows 인증을 사용하는 경우)에 대해 비주얼 스타일, 텍스트 표시 스타일 및 현재 보안 주체를 설정합니다. 그리고
ShowSplashScreen
또는/nosplash
가 명령줄 인수로 사용되지 않는 경우-nosplash
를 호출합니다.이 함수가 반환되면 애플리케이션 시작 시퀀스가 취소됩니다
False
. 이는 애플리케이션이 실행되지 않아야 하는 상황이 있는 경우에 유용할 수 있습니다.메서드는 OnInitialize 다음 메서드를 호출합니다.
ShowSplashScreen; 애플리케이션에 시작 화면이 정의되어 있는지 여부를 확인하고, 시작 화면이 정의되면 별도의 스레드에 시작 화면을 표시합니다.
ShowSplashScreen 메서드는 MinimumSplashScreenDisplayTime 속성에 의해 지정된 밀리초 수만큼 시작 화면을 표시하는 코드를 포함합니다. 이 기능을 사용하려면 프로젝트 디자이너를 사용하여 애플리케이션에 시작 화면을 추가하고, 이때
My.Application.MinimumSplashScreenDisplayTime
속성을 2초로 설정하거나,My.Application.MinimumSplashScreenDisplayTime
속성을 설정하는 메서드에서 OnInitialize 또는 OnCreateSplashScreen 메서드를 재정의해야 합니다. 자세한 내용은 MinimumSplashScreenDisplayTime를 참조하세요.OnCreateSplashScreen; 디자이너가 스플래시 화면을 초기화하는 코드를 생성할 수 있도록 허용합니다.
기본적으로 이 메서드는 아무것도 수행하지 않습니다. Visual Basic 프로젝트 디자이너에서 애플리케이션에 대한 시작 화면을 선택하는 경우, 디자이너는 OnCreateSplashScreen 메서드를 재정의하여, 시작 화면 폼의 새 인스턴스로 속성을 설정하는 SplashScreen 메서드를 제공합니다.
OnStartup;
Startup
이벤트를 발생시키는 확장성 지점을 제공합니다. 이 함수가 반환되면 애플리케이션 시작 시퀀스가 중지됩니다False
.기본적으로 이 메서드는 Startup 이벤트를 발생시킵니다. 이벤트 처리기가 이벤트 인수 Cancel의
True
속성을 설정하면 메서드는False
를 반환하여 애플리케이션 시작을 취소합니다.OnRun; 초기화가 완료된 후 주 애플리케이션이 실행을 시작할 준비가 된 경우의 시작점을 제공합니다.
기본적으로 Windows Forms 메시지 루프를 입력하기 전에 이 메서드는 애플리케이션의 기본 양식을 만들기 위해
OnCreateMainForm
을 호출하고 시작 화면을 닫기 위해HideSplashScreen
을 호출합니다.OnCreateMainForm; 디자이너가 기본 폼을 초기화하는 코드를 내보내는 방법을 제공합니다.
기본적으로 이 메서드는 아무것도 수행하지 않습니다. 그러나 Visual Basic 프로젝트 디자이너에서 애플리케이션의 기본 폼을 선택하면, 디자이너는 OnCreateMainForm 메서드를 MainForm 속성을 기본 폼의 새 인스턴스로 설정하는 메서드로 재정의합니다.
HideSplashScreen; 애플리케이션에 시작 화면이 정의되어 있고 열려 있는 경우 이 메서드는 시작 화면을 닫습니다.
기본적으로 이 메서드는 시작 화면을 닫습니다.
OnStartupNextInstance; 애플리케이션의 다른 인스턴스가 시작될 때 단일 인스턴스 애플리케이션이 작동하는 방식을 사용자 지정하는 방법을 제공합니다.
기본적으로 이 메서드는 StartupNextInstance 이벤트를 발생시킵니다.
OnShutdown;
Shutdown
이벤트를 발생시키는 확장성 지점을 제공합니다. 이 메서드는 주 애플리케이션에서 처리되지 않은 예외가 발생하는 경우 실행되지 않습니다.기본적으로 이 메서드는 Shutdown 이벤트를 발생시킵니다.
OnUnhandledException; 위에 나열된 메서드 중에서 처리되지 않은 예외가 발생하는 경우 실행됩니다.
기본적으로 이 메서드는 디버거가 부착되지 않고 애플리케이션이 UnhandledException 이벤트를 처리하는 한
UnhandledException
이벤트를 발생합니다.
애플리케이션이 단일 인스턴스 애플리케이션이고 애플리케이션이 이미 실행 중인 경우 애플리케이션의 후속 인스턴스는 애플리케이션의 원래 인스턴스에서 메서드를 호출 OnStartupNextInstance 한 다음 종료됩니다.
OnStartupNextInstance(StartupNextInstanceEventArgs) 생성자는 속성을 호출 UseCompatibleTextRendering 하여 애플리케이션의 양식에 사용할 텍스트 렌더링 엔진을 결정합니다. 기본적으로 UseCompatibleTextRendering 속성은 False
값을 반환하며, 이는 GDI 텍스트 렌더링 엔진이 사용됨을 나타냅니다. 이는 Visual Basic 2005 이상 버전에서 기본값입니다.
UseCompatibleTextRendering 속성을 재정의하여 True
을 반환할 수 있습니다. 이는 GDI+ 텍스트 렌더링 엔진이 사용됨을 나타내며, Visual Basic .NET 2002 및 Visual Basic .NET 2003의 기본값입니다.
애플리케이션 구성
Visual Basic 애플리케이션 모델의 일부로 클래스는 WindowsFormsApplicationBase 애플리케이션을 구성하는 보호된 속성을 제공합니다. 이러한 속성은 구현 클래스의 생성자에서 설정해야 합니다.
기본 Windows Forms 프로젝트에서 프로젝트 디자이너는 디자이너 설정을 사용하여 속성을 설정하는 코드를 만듭니다. 속성은 애플리케이션이 시작될 때만 사용됩니다. 애플리케이션이 시작된 후에 설정해도 효과가 없습니다.
재산 | 결정하다 | 프로젝트 디자이너의 애플리케이션 창에서 설정 |
---|---|---|
IsSingleInstance | 애플리케이션이 단일 인스턴스 또는 다중 인스턴스 애플리케이션으로 실행되는지 여부입니다. | 단일 인스턴스 애플리케이션 만들기 확인란 |
EnableVisualStyles | 애플리케이션에서 Windows XP와 일치하는 비주얼 스타일을 사용하는 경우 | XP 비주얼 스타일 사용 확인란 |
SaveMySettingsOnExit | 애플리케이션이 종료되면 애플리케이션의 사용자 설정 변경 내용이 자동으로 저장되는 경우 | 종료 시 My.Settings 저장 확인란 |
ShutdownStyle | 시작 폼이 닫히거나 마지막 폼이 닫히면 애플리케이션이 종료되는 원인입니다. | 종료 모드 목록 |
참고하십시오
.NET