Application 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
애플리케이션을 시작 및 중지하기 위한 메서드, Windows 메시지를 처리하기 위한 메서드, 애플리케이션에 대한 정보를 가져오기 위한 속성 등과 같이 애플리케이션을 관리하기 위한 static
메서드 및 속성을 제공합니다. 이 클래스는 상속될 수 없습니다.
public ref class Application sealed
public sealed class Application
type Application = class
Public NotInheritable Class Application
- 상속
-
Application
예제
다음 코드 예제에서는 폼의 목록 상자에 숫자를 나열합니다. 클릭할 때마다 button1
, 애플리케이션 목록에 다른 숫자를 추가 합니다.
Main
메서드 호출 Run 폼을 만드는 애플리케이션을 시작 하려면 listBox1
고 button1
입니다. 사용자가 를 클릭하면 button1
메서드가 button1_Click
를 MessageBox표시합니다. 사용자가 를 클릭하면 No
MessageBox메서드는 button1_Click
목록에 숫자를 추가합니다. 사용자가 클릭 하면 Yes
, 애플리케이션이 호출 Exit 큐에 남아 있는 모든 메시지를 처리 하 고 종료 됩니다.
참고
에 대한 Exit 호출은 부분 신뢰에서 실패합니다.
public ref class Form1: public System::Windows::Forms::Form
{
private:
Button^ button1;
ListBox^ listBox1;
public:
Form1()
{
button1 = gcnew Button;
button1->Left = 200;
button1->Text = "Exit";
button1->Click += gcnew EventHandler( this, &Form1::button1_Click );
listBox1 = gcnew ListBox;
this->Controls->Add( button1 );
this->Controls->Add( listBox1 );
}
private:
void Form1::button1_Click( Object^ /*sender*/, EventArgs^ /*e*/ )
{
int count = 1;
// Check to see whether the user wants to exit
// the application. If not, add a number to the list box.
while ( MessageBox::Show( "Exit application?", "", MessageBoxButtons::YesNo ) == ::DialogResult::No )
{
listBox1->Items->Add( count );
count += 1;
}
// The user wants to exit the application.
// Close everything down.
Application::Exit();
}
};
int main()
{
// Starts the application.
Application::Run( gcnew Form1 );
}
public class Form1 : Form
{
[STAThread]
public static void Main()
{
// Start the application.
Application.Run(new Form1());
}
private Button button1;
private ListBox listBox1;
public Form1()
{
button1 = new Button();
button1.Left = 200;
button1.Text = "Exit";
button1.Click += new EventHandler(button1_Click);
listBox1 = new ListBox();
this.Controls.Add(button1);
this.Controls.Add(listBox1);
}
private void button1_Click(object sender, System.EventArgs e)
{
int count = 1;
// Check to see whether the user wants to exit the application.
// If not, add a number to the list box.
while (MessageBox.Show("Exit application?", "",
MessageBoxButtons.YesNo)==DialogResult.No)
{
listBox1.Items.Add(count);
count += 1;
}
// The user wants to exit the application.
// Close everything down.
Application.Exit();
}
}
Public Class Form1
Inherits Form
<STAThread()> _
Shared Sub Main()
' Start the application.
Application.Run(New Form1)
End Sub
Private WithEvents button1 As Button
Private WithEvents listBox1 As ListBox
Public Sub New()
button1 = New Button
button1.Left = 200
button1.Text = "Exit"
listBox1 = New ListBox
Me.Controls.Add(button1)
Me.Controls.Add(listBox1)
End Sub
Private Sub button1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles button1.Click
Dim count As Integer = 1
' Check to see whether the user wants to exit the application.
' If not, add a number to the list box.
While (MessageBox.Show("Exit application?", "", _
MessageBoxButtons.YesNo) = DialogResult.No)
listBox1.Items.Add(count)
count += 1
End While
' The user wants to exit the application.
' Close everything down.
Application.Exit()
End Sub
End Class
설명
Application 클래스에는 메서드가 시작 애플리케이션 및 스레드를 중지 하 고 다음과 같이 Windows 메시지를 처리 합니다.
Run 현재 스레드에서 애플리케이션 메시지 루프를 시작 하 고 필요에 따라 표시 되도록 폼을 만듭니다.
Exit 또는 ExitThread 메시지 루프를 중지합니다.
DoEvents 는 프로그램이 루프에 있는 동안 메시지를 처리합니다.
AddMessageFilter Windows 메시지를 모니터링 하는 애플리케이션 메시지 펌프에 메시지 필터를 추가 합니다.
IMessageFilter 를 사용하면 이벤트 처리기를 호출하기 전에 이벤트가 발생하지 않도록 하거나 특수 작업을 수행할 수 있습니다.
이 클래스에는 CurrentCulture 현재 스레드에 대한 문화권 정보를 얻거나 설정할 수 있는 및 CurrentInputLanguage 속성이 있습니다.
이 클래스의 instance 만들 수 없습니다.
속성
AllowQuit |
호출자가 해당 애플리케이션을 끝낼 수 있는지 여부를 나타내는 값을 가져옵니다. |
ColorMode |
애플리케이션을 시작 및 중지하기 위한 메서드, Windows 메시지를 처리하기 위한 메서드, 애플리케이션에 대한 정보를 가져오기 위한 속성 등과 같이 애플리케이션을 관리하기 위한 |
CommonAppDataPath |
모든 사용자가 공유하는 애플리케이션 데이터의 경로를 가져옵니다. |
CommonAppDataRegistry |
모든 사용자가 공유하는 애플리케이션 데이터의 레지스트리 키를 가져옵니다. |
CompanyName |
애플리케이션과 관련된 회사 이름을 가져옵니다. |
CurrentCulture |
현재 스레드에 대한 문화권 정보를 가져오거나 설정합니다. |
CurrentInputLanguage |
현재 스레드의 현재 입력 언어를 가져오거나 설정합니다. |
ExecutablePath |
애플리케이션을 시작한 실행 파일의 경로(실행 파일 이름 포함)를 가져옵니다. |
HighDpiMode |
애플리케이션에 대한 현재 높은 DPI 모드를 가져옵니다. |
IsDarkModeEnabled |
애플리케이션을 시작 및 중지하기 위한 메서드, Windows 메시지를 처리하기 위한 메서드, 애플리케이션에 대한 정보를 가져오기 위한 속성 등과 같이 애플리케이션을 관리하기 위한 |
LocalUserAppDataPath |
로밍 사용자가 아닌 로컬 사용자의 애플리케이션 데이터 경로를 가져옵니다. |
MessageLoop |
이 스레드에 메시지 루프가 있는지 여부를 나타내는 값을 가져옵니다. |
OpenForms |
애플리케이션에서 소유한 열려 있는 폼의 컬렉션을 가져옵니다. |
ProductName |
이 애플리케이션과 관련된 제품 이름을 가져옵니다. |
ProductVersion |
이 애플리케이션과 관련된 제품 버전을 가져옵니다. |
RenderWithVisualStyles |
현재 애플리케이션에서 비주얼 스타일로 컨트롤을 그리고 있는지 여부를 지정하는 값을 가져옵니다. |
SafeTopLevelCaptionFormat |
경고 배너와 함께 최상위 창 캡션이 표시될 때 이 캡션에 적용될 서식 문자열을 가져오거나 설정합니다. |
StartupPath |
애플리케이션을 시작한 실행 파일의 경로(실행 파일 이름 제외)를 가져옵니다. |
SystemColorMode |
애플리케이션을 시작 및 중지하기 위한 메서드, Windows 메시지를 처리하기 위한 메서드, 애플리케이션에 대한 정보를 가져오기 위한 속성 등과 같이 애플리케이션을 관리하기 위한 |
UserAppDataPath |
사용자의 애플리케이션 데이터 경로를 가져옵니다. |
UserAppDataRegistry |
사용자의 애플리케이션 데이터에 대한 레지스트리 키를 가져옵니다. |
UseVisualStyles |
애플리케이션에 시각적 스타일을 사용할 수 있는지 여부를 나타내는 값을 가져옵니다. |
UseWaitCursor |
대기 커서가 애플리케이션의 열려 있는 모든 폼에 사용되는지 여부를 가져오거나 설정합니다. |
VisualStyleState |
비주얼 스타일이 애플리케이션 창에 적용되는 방법을 지정하는 값을 가져옵니다. |
메서드
AddMessageFilter(IMessageFilter) |
Windows 메시지가 대상 위치로 라우팅될 때 해당 메시지를 모니터링하기 위해 메시지 필터를 추가합니다. |
DoEvents() |
현재 메시지 큐에 있는 모든 Windows 메시지를 처리합니다. |
EnableVisualStyles() |
애플리케이션에 비주얼 스타일을 사용합니다. |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
Exit() |
모든 메시지 펌프에 끝나야 함을 알리고 메시지가 처리된 후 모든 애플리케이션 창을 닫습니다. |
Exit(CancelEventArgs) |
모든 메시지 펌프에 끝나야 함을 알리고 메시지가 처리된 후 모든 애플리케이션 창을 닫습니다. |
ExitThread() |
현재 스레드의 메시지 루프를 종료하고 스레드의 모든 창을 닫습니다. |
FilterMessage(Message) |
창 메시지에 대한 필터를 실행하고 수정된 메시지의 복사본을 반환합니다. |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
OleRequired() |
현재 스레드의 OLE를 초기화합니다. |
OnThreadException(Exception) |
ThreadException 이벤트를 발생시킵니다. |
RaiseIdle(EventArgs) |
호스팅된 시나리오에서 Idle 이벤트를 발생시킵니다. |
RegisterMessageLoop(Application+MessageLoopCallback) |
호스팅된 환경에서 메시지 루프가 실행 중인지 여부를 확인하기 위한 콜백을 등록합니다. |
RemoveMessageFilter(IMessageFilter) |
애플리케이션의 메시지 펌프에서 메시지 필터를 제거합니다. |
Restart() |
애플리케이션을 종료하고 즉시 새 인스턴스를 시작합니다. |
Run() |
폼을 사용하지 않고 현재 스레드에서 표준 애플리케이션 메시지 루프를 실행하기 시작합니다. |
Run(ApplicationContext) |
ApplicationContext를 사용하여 현재 스레드에서 표준 애플리케이션 메시지 루프를 실행하기 시작합니다. |
Run(Form) |
현재 스레드에서 표준 애플리케이션 메시지 루프의 실행을 시작하고 지정된 폼을 표시합니다. |
SetColorMode(SystemColorMode) |
애플리케이션을 시작 및 중지하기 위한 메서드, Windows 메시지를 처리하기 위한 메서드, 애플리케이션에 대한 정보를 가져오기 위한 속성 등과 같이 애플리케이션을 관리하기 위한 |
SetCompatibleTextRenderingDefault(Boolean) |
특정 컨트롤에 정의된 속성에 |
SetDefaultFont(Font) |
프로세스의 기본값 Font 을 설정합니다. |
SetHighDpiMode(HighDpiMode) |
프로세스의 높은 DPI 모드를 설정합니다. |
SetSuspendState(PowerState, Boolean, Boolean) |
시스템을 일시 중단하거나 최대 절전 모드로 전환하거나, 시스템을 일시 중단하거나 최대 절전 모드로 전환하도록 요구합니다. |
SetUnhandledExceptionMode(UnhandledExceptionMode) |
처리되지 않은 예외에 응답하는 방법을 애플리케이션에 지시합니다. |
SetUnhandledExceptionMode(UnhandledExceptionMode, Boolean) |
처리되지 않은 예외에 응답하고 필요에 따라 스레드 관련 동작을 적용하는 방법을 애플리케이션에 지시합니다. |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
UnregisterMessageLoop() |
RegisterMessageLoop(Application+MessageLoopCallback)를 사용하여 등록한 메시지 루프 콜백의 등록을 취소합니다. |
이벤트
ApplicationExit |
애플리케이션이 종료되려고 할 때 발생합니다. |
EnterThreadModal |
애플리케이션이 모달 상태로 전환되려고 할 때 발생합니다. |
Idle |
애플리케이션이 처리를 끝내고 유휴 상태가 되려고 할 때 발생합니다. |
LeaveThreadModal |
애플리케이션이 모달 상태에서 벗어나려고 할 때 발생합니다. |
ThreadException |
포착되지 않은 스레드 예외가 throw될 때 발생합니다. |
ThreadExit |
스레드가 종료되려고 할 때 발생합니다. 애플리케이션의 주 스레드가 종료되려고 할 때 이 이벤트가 발생한 다음 ApplicationExit 이벤트가 발생합니다. |
적용 대상
.NET