DONE_IS_BETTER_THAN_PERFECT.

출처 : http://blog.naver.com/dontcryme/30009462790

Windows Forms 프로그래밍 
방법: MDI 드롭다운 메뉴에 MenuStrip 삽입(Windows Forms) 

일부 응용 프로그램에서는 MDI(다중 문서 인터페이스) 자식 창의 종류가 MDI 부모 창의 종류와 다를 수 있습니다. 예를 들어, MDI 부모는 스프레드시트인데 MDI 자식은 차트일 수 있습니다. 이 경우 여러 종류의 MDI 자식 창이 활성화되어 있을 때 MDI 부모 메뉴의 내용을 MDI 자식 메뉴의 내용으로 업데이트해야 할 수 있습니다.

다음 절차에서는 IsMdiContainer, AllowMerge, MergeAction 및 MergeIndex 속성을 사용하여 MDI 부모 메뉴의 드롭다운 부분에 MDI 자식 메뉴의 메뉴 항목 그룹을 삽입합니다. MDI 자식 창을 닫으면 삽입한 메뉴 항목이 MDI 부모 메뉴에서 제거됩니다.

MDI 드롭다운 메뉴에 MenuStrip을 삽입하려면

  1. 폼을 만들고 IsMdiContainer 속성을 true로 설정합니다.

  2. Form1MenuStrip을 추가하고 MenuStripAllowMerge 속성을 true로 설정합니다.

  3. Form1 MenuStrip에 최상위 메뉴 항목을 추가하고 Text 속성을 &File로 설정합니다.

  4. &File 메뉴 항목에 하위 메뉴 항목을 세 개 추가하고 Text 속성을 &Open, &Import fromE&xit로 설정합니다.

  5. &Import from 하위 메뉴 항목에 하위 메뉴 항목을 두 개 추가하고 Text 속성을 &Word&Excel로 설정합니다.

  6. 프로젝트에 폼을 추가하고 폼에 MenuStrip을 추가한 다음 Form2 MenuStripAllowMerge 속성을 true로 설정합니다.

  7. Form2 MenuStrip에 최상위 메뉴 항목을 추가하고 Text 속성을 &File로 설정합니다.

  8. Form2&File 메뉴에 ToolStripSeparator, &Save, &Close and Save 및 다른 ToolStripSeparator의 순서로 하위 메뉴 항목을 추가합니다.

  9. Form2 메뉴 항목의 MergeActionMergeIndex 속성을 다음 표에 표시된 대로 설정합니다.

     
    Form2 메뉴 항목 MergeAction 값 MergeIndex 값

    File

    MatchOnly

    -1

    Separator

    Insert

    2

    Save

    Insert

    3

    Save and Close

    Insert

    4

    Separator

    Insert

    5

  10. &Open ToolStripMenuItem의 Click 이벤트에 대한 이벤트 처리기를 만듭니다.

  11. 이벤트 처리기에서 Form2의 새 인스턴스를 Form1의 MDI 자식 폼으로 만들고 표시하는 다음 코드 예제와 비슷한 코드를 삽입합니다.

    Visual Basic
    코드 복사
    Private Sub openToolStripMenuItem_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles openToolStripMenuItem.Click
        Dim NewMDIChild As New Form2()
        'Set the parent form of the child window.
            NewMDIChild.MdiParent = Me
        'Display the new form.
            NewMDIChild.Show()
    End Sub
    

    [C#]

    private void openToolStripMenuItem_Click(object sender, EventArgs e)
    {
        Form2 newMDIChild = new Form2();
        // Set the parent form of the child window.
            newMDIChild.MdiParent = this;
        // Display the new form.
            newMDIChild.Show();
    }
    
  12. &Open ToolStripMenuItem에 다음 코드 예제와 비슷한 코드를 넣어 이벤트 처리기를 등록합니다.

    Visual Basic
    코드 복사
    Private Sub openToolStripMenuItem_Click(sender As Object, e As _
    EventArgs) Handles openToolStripMenuItem.Click
    
    C#
    코드 복사
    this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click);
    
    

코드 컴파일

이 예제에는 다음 사항이 필요합니다.

  • 두 개의 Form 컨트롤 Form1Form2

  • Form1MenuStrip 컨트롤 menuStrip1Form2MenuStrip 컨트롤 menuStrip2

  • System 및 System.Windows.Forms 어셈블리에 대한 참조

참고 항목

작업

방법: MDI 상위 폼 만들기
방법: MDI 자식 폼 만들기

참조

MenuStrip 컨트롤 개요(Windows Forms)

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band