다음을 통해 공유


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 정보를 가져오거나 설정하기 위한 CurrentCultureCurrentInputLanguage 속성이 있습니다.

이 클래스의 인스턴스를 만들 수 없습니다.

예제

다음 코드 예제에서는 폼의 목록 상자에 숫자를 표시합니다. button1을 클릭할 때마다 응용 프로그램에서는 목록에 다른 숫자를 추가합니다.

Main 메서드는 Run을 호출하여 폼, listBox1button1을 만드는 응용 프로그램을 시작합니다. 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에서 지원

참고 항목

참조

Application 멤버
System.Windows.Forms 네임스페이스