Application 클래스
응용 프로그램을 시작 및 중지하기 위한 메서드, Windows 메시지를 처리하기 위한 메서드, 응용 프로그램에 대한 정보를 가져오기 위한 속성 등과 같이 응용 프로그램을 관리하기 위한 static 메서드 및 속성을 제공합니다. 이 클래스는 상속될 수 없습니다.
네임스페이스: System.Windows.Forms
어셈블리: System.Windows.Forms(system.windows.forms.dll)
구문
‘선언
Public NotInheritable Class Application
‘사용 방법
Dim instance As Application
public sealed class Application
public ref class Application sealed
public final class Application
public final class Application
설명
Application 클래스에는 응용 프로그램 및 스레드를 시작 및 중지하기 위한 메서드와 Windows 메시지를 처리하기 위한 다음과 같은 메서드가 있습니다.
Run은 현재 스레드에 대한 응용 프로그램 메시지 루프를 시작하거나 선택적으로 폼을 표시합니다.
Exit 또는 ExitThread는 메시지 루프를 중지합니다.
DoEvents는 프로그램이 반복되는 동안 메시지를 처리합니다.
AddMessageFilter는 응용 프로그램 메시지 펌프에 메시지 필터를 추가하여 Windows 메시지를 모니터링합니다.
IMessageFilter를 사용하면 이벤트가 발생하지 않도록 하거나 이벤트 처리기를 호출하기 전에 특수 연산을 수행할 수 있습니다.
이 클래스에는 현재 스레드에 대한 culture 정보를 가져오거나 설정하기 위한 CurrentCulture 및 CurrentInputLanguage 속성이 있습니다.
이 클래스의 인스턴스를 만들 수 없습니다.
예제
다음 코드 예제에서는 폼의 목록 상자에 숫자를 표시합니다. button1
을 클릭할 때마다 응용 프로그램에서는 목록에 다른 숫자를 추가합니다.
Main
메서드는 Run을 호출하여 폼, listBox1
및 button1
을 만드는 응용 프로그램을 시작합니다. button1
을 클릭하면 button1_Click
메서드는 MessageBox를 표시합니다. MessageBox에서 No를 클릭하면 button1_Click
메서드는 목록에 숫자를 추가합니다. Yes를 클릭하면 응용 프로그램에서는 Exit를 호출하여 큐에 남아 있는 모든 메시지를 처리하고 종료됩니다.
참고
부분 신뢰에서 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
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 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 extends Form
{
/** @attribute STAThread()
*/
public static void main(String[] args)
{
// Start the application.
Application.Run(new Form1());
} //main
private Button button1;
private ListBox listBox1;
public Form1()
{
button1 = new Button();
button1.set_Left(200);
button1.set_Text("Exit");
button1.add_Click(new EventHandler(button1_Click));
listBox1 = new ListBox();
this.get_Controls().Add(button1);
this.get_Controls().Add(listBox1);
} //Form1
public 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).Equals(get_DialogResult().No))) {
listBox1.get_Items().Add(new Integer(count));
count += 1;
}
// The user wants to exit the application.
// Close everything down.
Application.Exit();
} //button1_Click
} //Form1
상속 계층 구조
System.Object
System.Windows.Forms.Application
스레드로부터의 안전성
이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.
플랫폼
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.
버전 정보
.NET Framework
2.0, 1.1, 1.0에서 지원
.NET Compact Framework
2.0, 1.0에서 지원