Share via


방법: 모달 및 모덜리스 Windows Forms 표시

폼이나 대화 상자를 모달 또는 모덜리스로 표시할 수 있습니다. 모달 폼 또는 대화 상자의 경우 먼저 모달 폼 또는 대화 상자를 닫거나 숨겨야만 응용 프로그램을 계속 사용할 수 있습니다. 대화 상자 작업에 대한 자세한 내용은 대화 상자에 사용자 입력을 참조하십시오.

중요한 메시지를 표시하는 대화 상자는 항상 모달로 나타내야 합니다. 모달 대화 상자의 예를 들면 Visual Studio의 정보 대화 상자가 있으며, MessageBox는 사용할 수 있는 모달 폼의 한 예입니다.

모덜리스 폼의 경우 최초의 폼을 닫지 않아도 해당 폼과 다른 폼 사이에 포커스를 옮길 수 있습니다. 즉, 모덜리스 폼이 표시되어 있어도 다른 응용 프로그램에서 계속 작업할 수 있습니다.

모덜리스 폼은 사용자가 순서에 관계없이 액세스할 수 있기 때문에 프로그래밍하기가 더욱 어렵습니다. 사용자의 동작에 관계없이 응용 프로그램의 상태를 일관성 있게 유지해야 합니다. 도구 창은 모덜리스 형식으로 표시되는 경우가 많습니다. Visual Studio의 편집 메뉴에서 사용할 수 있는 찾기 대화 상자는 모덜리스 대화 상자의 한 예입니다. 모덜리스 폼은 자주 사용하는 명령이나 정보를 표시하는 데 사용합니다.

참고

표시되는 대화 상자와 메뉴 명령은 활성 설정이나 버전에 따라 도움말에서 설명하는 것과 다를 수 있습니다. 설정을 변경하려면 도구 메뉴에서 설정 가져오기 및 내보내기를 선택합니다. 자세한 내용은 설정에 대한 작업을 참조하십시오.

폼을 모달 대화 상자로 표시하려면

  • ShowDialog 메서드를 호출합니다.

    다음 코드 예제에서는 대화 상자를 모달로 표시하는 방법을 보여 줍니다.

    Dim frmAbout as New Form()
    ' Display frmAbout as a modal dialog
    frmAbout.ShowDialog()
    
    //Display frmAbout as a modal dialog
    Form frmAbout = new Form();
    frmAbout.ShowDialog();
    
    Form ^ frmAbout = gcnew Form();
    //Display frmAbout as a modal dialog
    frmAbout->ShowDialog();
    

    ShowDialog 메서드는 owner라는 선택적 인수를 사용하며 이 인수는 폼의 부모-자식 관계를 지정하는 데 사용됩니다. 예를 들어, 기본 폼에서 대화 상자를 표시하는 코드를 작성하는 경우 다음 코드와 같이 대화 상자의 소유자로 Me(Visual Basic) 또는 this(Visual C#)를 전달하여 기본 폼을 소유자로 설정할 수 있습니다.

    Private Sub mnuAbout_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mnuAbout.Click
       Dim f As New Form()
       f.ShowDialog(Me)
    End Sub
    
    private void mnuAbout_Click(object sender, System.EventArgs e)
    {
       Form f = new Form();
       f.ShowDialog(this);
    }
    
    private:
       void mnuAbout_Click(System::Object ^ sender,
          System::EventArgs ^ e)
       {
          Form ^ f = gcnew Form();
          f->ShowDialog(this);
       }
    

폼을 모덜리스 대화 상자로 표시하려면

  • Show 메서드를 호출합니다.

    다음 예제에서는 정보 대화 상자를 모덜리스 형식으로 표시하는 방법을 보여 줍니다.

    Dim f As New Form()
    ' Display f as a modeless dialog.
    f.Show()
    
    //Display f as a modeless dialog
    Form f= new Form();
    f.Show();
    
    Form ^ f = gcnew Form();
    //Display f as a modeless dialog
    f->Show();
    

    참고

    폼을 모달로 표시하면 해당 대화 상자가 닫힐 때까지 ShowDialog 메서드 다음의 코드가 실행되지 않습니다. 그러나 폼을 모덜리스로 표시하면 폼이 표시된 직후 Show 메서드 다음의 코드가 실행됩니다.

참고 항목

작업

방법: 여러 속성을 사용하여 대화 상자 정보를 선택적으로 검색

연습: 개체를 사용하여 대화 상자 정보를 집합적으로 검색

참조

Windows Forms 개요

기타 리소스

새 Windows Form 만들기

Windows Forms 대화 상자