方法 : MenuStrip を使用して MDI ウィンドウの一覧を作成する (Windows フォーム)
更新 : 2007 年 11 月
マルチ ドキュメント インターフェイス (MDI: Multiple Document Interface) を使用してアプリケーションを作成すると、複数のドキュメントを同時に開いて、ドキュメント間で内容のコピーおよび貼り付けを行うことができます。
ここでは、親フォームの [ウィンドウ] メニューに、すべてのアクティブな子フォームの一覧を作成する方法について説明します。
MDI ウィンドウの一覧を MenuStrip 上に作成するには
フォームを作成し、その IsMdiContainer プロパティを true に設定します。
フォームに MenuStrip を追加します。
2 つのトップレベル メニュー項目を MenuStrip に追加し、その Text プロパティをそれぞれ &File と &Window に設定します。
サブメニュー項目を &File メニュー項目に追加し、その Text プロパティを &Open に設定します。
MenuStrip の MdiWindowListItem プロパティを &WindowToolStripMenuItem に設定します。
プロジェクトにフォームを追加し、このフォームに必用なコントロール (別の MenuStrip など) を追加します。
&NewToolStripMenuItem の Click イベントのイベント ハンドラを作成します。
このイベント ハンドラ内に次のようなコードを挿入し、Form1 の MDI 子フォームとして Form2 の新しいインスタンスを作成および表示します。
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 newToolStripMenuItem_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(); }
&NewToolStripMenuItem 内に次のようなコードを配置してイベント ハンドラを登録します。
Private Sub newToolStripMenuItem_Click(sender As Object, e As _ EventArgs) Handles newToolStripMenuItem.Click
this.newToolStripMenuItem.Click += new System.EventHandler(this.newToolStripMenuItem_Click);
コードのコンパイル方法
この例で必要な要素は次のとおりです。
Form1 および Form2 という名前の 2 つの Form コントロール。
Form1 上にある menuStrip1 という名前の MenuStrip コントロール、および Form2 上にある menuStrip2 という名前の MenuStrip コントロール。
System アセンブリおよび System.Windows.Forms アセンブリへの参照。