방법: MDI 부모 창에 MenuStrip 추가(Windows Forms)
일부 애플리케이션에서는 MDI(다중 문서 인터페이스) 자식 창의 종류가 MDI 부모 창과 다를 수 있습니다. 예를 들어 MDI 부모는 스프레드시트이고 MDI 자식은 차트일 수 있습니다. 이 경우 다른 종류의 MDI 자식 창이 활성화될 때 MDI 부모 메뉴의 내용을 MDI 자식 메뉴의 내용으로 업데이트하려고 합니다.
다음 절차에서는 IsMdiContainer, AllowMerge, MergeAction 및 MergeIndex 속성을 사용하여 MDI 자식 메뉴를 MDI 부모 메뉴에 추가합니다. MDI 자식 창을 닫으면 MDI 부모에서 추가된 메뉴가 제거됩니다.
MDI(다중 문서 인터페이스) 애플리케이션도 참조하세요.
MDI 부모에 메뉴 항목을 추가하려면
폼을 만들고 해당 IsMdiContainer 속성을
true
로 설정합니다.Form1
에 MenuStrip을 추가하고 MenuStrip의 AllowMerge 속성을true
로 설정합니다.&File
메뉴 항목에 하위 메뉴 항목을 추가하고 해당 Text 속성을&Open
로 설정합니다.프로젝트에 폼을 추가하고, 폼에 MenuStrip을 추가한 다음
Form2
MenuStrip의 AllowMerge 속성을true
로 설정합니다.Form2
MenuStrip에 최상위 메뉴 항목을 추가하고 해당 Text 속성을&Special
로 설정합니다.&Special
메뉴 항목에 두 개의 하위 메뉴 항목을 추가하고 해당 Text 속성을 각각Command&1
및Command&2
로 설정합니다.&Special
,Command&1
및Command&2
메뉴 항목의 MergeAction 속성을 Append로 설정합니다.&Open
ToolStripMenuItem의 Click 이벤트에 대한 이벤트 처리기를 만듭니다.이벤트 처리기 내에서 다음 코드 예제와 비슷한 코드를 삽입하여
Form2
의 새 인스턴스를 만들고Form1
의 MDI 자식으로 표시합니다.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
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(); }
&Open
ToolStripMenuItem에 다음 코드 예제와 비슷한 코드를 배치하여 이벤트 처리기를 등록합니다.Private Sub openToolStripMenuItem_Click(sender As Object, e As _ EventArgs) Handles openToolStripMenuItem.Click
this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click);
코드 컴파일
이 예제에는 다음 사항이 필요합니다.
Form1
및Form2
라는 두 개의 Form 컨트롤menuStrip1
이라는Form1
의 MenuStrip 컨트롤 및menuStrip2
라는Form2
의 MenuStrip 컨트롤System 및 System.Windows.Forms 어셈블리에 대한 참조
.NET Desktop feedback
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기