다음을 통해 공유


가이드: 메뉴 병합 및 ToolStrip 컨트롤을 사용하여 MDI 폼 만들기

System.Windows.Forms 네임스페이스는 MDI(다중 문서 인터페이스) 애플리케이션을 지원하고 MenuStrip 컨트롤은 메뉴 병합을 지원합니다. MDI 폼은 ToolStrip 컨트롤일 수도 있습니다.

이 단계별 설명에서는 ToolStripPanel 컨트롤을 MDI 양식에서 사용하는 방법을 보여 줍니다. 폼은 자식 메뉴와 메뉴 병합도 지원합니다. 이 안내에서는 다음 작업을 설명합니다.

  • Windows Forms 프로젝트 만들기

  • 귀하의 양식을 위한 주 메뉴를 생성합니다. 메뉴의 실제 이름은 달라집니다.

  • ToolStripPanel 컨트롤을 Toolbox에 추가합니다.

  • 자식 폼 만들기.

  • ToolStripPanel 컨트롤을 z 순서대로 배치합니다.

완료되면 메뉴 병합과 이동 가능한 ToolStrip 컨트롤을 지원하는 MDI 양식이 생성됩니다.

이 주제의 코드를 단일 항목으로 복사하려면 방법: 메뉴 병합 및 ToolStrip 컨트롤을 사용하여 MDI 폼 만들기를 참조하세요.

필수 조건

이 연습을 완료하려면 Visual Studio가 필요합니다.

프로젝트를 만듭니다.

  1. Visual Studio에서 MdiForm이라는 Windows 애플리케이션 프로젝트를 생성하십시오 (파일 > 새로 만들기 > 프로젝트 > Visual C# 또는 Visual Basic > 클래식 데스크톱 > Windows Forms 애플리케이션).

  2. Windows Forms 디자이너에서 폼을 선택합니다.

  3. 속성 창에서 IsMdiContainer 값을 true로 설정합니다.

주 메뉴 만들기

부모 MDI 양식에는 주 메뉴가 포함되어 있습니다. 주 메뉴에는 Window라는 하나의 메뉴 항목이 있습니다. Window 메뉴 항목을 사용하여 자식 폼을 만들 수 있습니다. 자식 양식의 메뉴 항목들이 주 메뉴로 병합됩니다.

  1. 도구 상자에서 MenuStrip 컨트롤을 폼으로 끌어 놓습니다.

  2. ToolStripMenuItemMenuStrip 컨트롤에 추가하고 이름을 Window로 지정합니다.

  3. MenuStrip 컨트롤을 선택합니다.

  4. 속성 창에서 MdiWindowListItem 속성의 값을 ToolStripMenuItem1로 설정합니다.

  5. Window 메뉴 항목에 하위 항목을 추가한 다음, 하위 항목의 이름을 새로 지정합니다.

  6. 속성 창에서 이벤트를 클릭합니다.

  7. Click 이벤트를 두 번 클릭합니다.

    Windows Forms 디자이너는 Click 이벤트에 대한 이벤트 처리기를 생성합니다.

  8. 이벤트 처리기에 다음 코드를 삽입합니다.

    // This method creates a new ChildForm instance
    // and attaches it to the MDI parent form.
    private void newToolStripMenuItem_Click(object sender, EventArgs e)
    {
        ChildForm f = new ChildForm();
        f.MdiParent = this;
        f.Text = "Form - " + this.MdiChildren.Length.ToString();
        f.Show();
    }
    
    ' This method creates a new ChildForm instance 
    ' and attaches it to the MDI parent form.
     Private Sub newToolStripMenuItem_Click( _
     ByVal sender As Object, _
     ByVal e As EventArgs) _
     Handles newToolStripMenuItem.Click
    
         Dim f As New ChildForm()
         f.MdiParent = Me
         f.Text = "Form - " + Me.MdiChildren.Length.ToString()
         f.Show()
    
     End Sub
    

도구 상자에 ToolStripPanel 컨트롤 추가

MDI 양식에서 MenuStrip 컨트롤을 사용하는 경우 반드시 ToolStripPanel 컨트롤이 있어야 합니다. Windows Forms 디자이너에서 MDI 양식을 작성하려면 ToolStripPanel 컨트롤을 도구 상자에 추가해야 합니다.

  1. 도구 상자를 연 다음, 모든 Windows Forms 탭을 클릭하여 사용 가능한 Windows Forms 컨트롤을 표시합니다.

  2. 마우스 오른쪽 단추를 클릭하여 바로 가기 메뉴를 열고 항목 선택을 선택합니다.

  3. 도구 상자 항목 선택 대화 상자에서 ToolStripPanel을 찾을 때까지 이름 열을 아래로 스크롤합니다.

  4. ToolStripPanel 옆의 확인란을 선택한 다음, 확인을 클릭합니다.

    ToolStripPanel 컨트롤이 도구 상자에 나타납니다.

하위 양식 생성하기

이 절차에서는 자체 컨트롤이 있는 별도의 자식 양식 클래스를 정의합니다. 이 양식의 메뉴 항목은 부모 양식의 메뉴 항목과 병합됩니다.

  1. 프로젝트에 ChildForm이라는 새 양식을 추가합니다.

    자세한 내용은 프로젝트에 Windows Forms 추가 방법을 참조하십시오.

  2. Toolbox에서 MenuStrip 컨트롤을 자식 폼에 끌어다 놓습니다.

  3. MenuStrip 컨트롤의 디자이너 작업 기호(‘작은 검은색 화살표’를 클릭한 후, 항목 편집을 선택합니다.

  4. 항목 컬렉션 편집기 대화 상자에서 새 을 추가하고 이름을 ChildMenuItem으로 설정하여 자식 메뉴에 추가합니다.

    자세한 내용은 ToolStrip 항목 컬렉션 편집기를 참조하세요.

양식 테스트

  1. F5를 눌러 양식을 컴파일하고 실행합니다.

  2. Window 메뉴 항목을 클릭하여 메뉴를 연 다음, 새로 만들기를 클릭합니다.

    양식의 MDI 클라이언트 영역에 새로운 자식 양식이 생성됩니다. 자식 폼의 메뉴가 주 메뉴와 병합됩니다.

  3. 자식 폼을 닫습니다.

    자식 폼의 메뉴가 주 메뉴에서 제거됩니다.

  4. 새로 만들기를 여러 번 클릭합니다.

    MenuStrip 컨트롤의 MdiWindowListItem 속성이 배정되어 있기 때문에 자식 폼들이 Window 메뉴 항목 아래에 자동으로 나열됩니다.

ToolStrip 지원 추가

이 절차에서는 MDI 부모 폼에 네 개의 ToolStrip 컨트롤을 추가합니다. 각 ToolStrip 컨트롤은 폼의 가장자리에 도킹되는 ToolStripPanel 컨트롤 내부에 추가됩니다.

  1. 도구 상자에서 컨트롤을 폼으로 끌어 옵니다.

  2. ToolStripPanel 컨트롤을 선택한 상태에서 Toolbox에서 ToolStrip 컨트롤을 두 번 클릭합니다.

    ToolStrip 컨트롤은 ToolStripPanel 안에 만들어집니다.

  3. ToolStripPanel 컨트롤을 선택합니다.

  4. 속성 창에서 컨트롤의 Dock 속성 값을 Left로 변경합니다.

    ToolStripPanel 컨트롤은 메인 메뉴 아래 쪽의 폼 왼쪽에 도킹됩니다. MDI 클라이언트 영역은 ToolStripPanel 컨트롤에 맞게 크기가 조정됩니다.

  5. 1~4단계를 반복합니다.

    ToolStripPanel 컨트롤을 폼의 맨 위에 도킹합니다.

    ToolStripPanel 컨트롤은 주 메뉴 아래에 도킹되어 있고, 첫 번째 ToolStripPanel 컨트롤의 오른쪽에 있습니다. 이 단계에서는 ToolStripPanel 컨트롤의 위치를 정확하게 설정하는 데 중요한 z-순서의 중요성을 보여줍니다.

  6. 두 개의 추가 ToolStripPanel 컨트롤에 대해 1~4단계를 반복합니다.

    폼의 오른쪽과 아래쪽에 새 ToolStripPanel 컨트롤을 도킹합니다.

Z 순서로 ToolStripPanel 컨트롤 정렬

MDI 폼에서 도킹된 ToolStripPanel 컨트롤의 위치는 z 순서에서 해당 컨트롤의 위치에 따라 결정됩니다. 문서 개요 창에서 컨트롤의 z 순서를 쉽게 정렬할 수 있습니다.

  1. 보기 메뉴에서 다른 창을 클릭한 다음, 문서 개요를 클릭합니다.

    이전 절차에서 ToolStripPanel 컨트롤의 배열은 표준이 아닙니다. 이는 z 순서가 올바르지 않기 때문입니다. 문서 개요 창을 사용하여 컨트롤의 z 순서를 변경합니다.

  2. 문서 개요 창에서 ToolStripPanel4를 선택합니다.

  3. ToolStripPanel4가 목록의 맨 아래에 표시될 때까지 아래쪽 화살표 단추를 반복해서 클릭합니다.

    ToolStripPanel4 컨트롤은 다른 컨트롤 아래에 있는 폼의 아래쪽에 도킹되어 있습니다.

  4. ToolStripPanel2를 선택합니다.

  5. 아래쪽 화살표 단추를 한 번 클릭하여 컨트롤을 목록에서 세 번째로 배치합니다.

    ToolStripPanel2 컨트롤은 폼의 상단, 주 메뉴 아래에 있고 다른 컨트롤 위에 도킹되어 있습니다.

  6. 문서 개요 창에서 다양한 컨트롤을 선택하고 z 순서의 다른 위치로 이동합니다. 도킹된 컨트롤의 배치에 대한 z 순서의 영향을 확인합니다. 편집 메뉴에서 CTRL-Z 또는 실행 취소를 사용하여 변경 내용을 취소합니다.

체크포인트 - 폼을 테스트하다

  1. F5를 눌러 양식을 컴파일하고 실행합니다.

  2. ToolStrip 컨트롤의 그립을 클릭하고 컨트롤을 폼의 다른 위치로 드래그합니다.

    컨트롤을 한 컨트롤에서 다른 컨트롤로 끌 수 있습니다.

다음 단계

이 설명서에서는 ToolStrip 컨트롤과 메뉴 병합을 사용하는 MDI 부모 양식을 만들었습니다. 다양한 다른 용도로 ToolStrip 컨트롤 패밀리를 사용할 수 있습니다.

참고하십시오

  • MenuStrip
  • ToolStrip
  • StatusStrip
  • 방법: MDI 부모 폼 만들기
  • 방법: MDI 자식 양식 만들기
  • 방법: MDI 드롭다운 메뉴에 MenuStrip 삽입
  • ToolStrip 컨트롤