方法 : ToolStripMenuItem を MDI ドロップダウン メニューから削除する (Windows フォーム)
アプリケーションの中には、マルチ ドキュメント インターフェイス (MDI) 子ウィンドウの種類が MDI 親ウィンドウと異なるものがあります。 たとえば、MDI 親がスプレッドシートで、MDI 子がグラフの場合があります。 そのような場合は、異なる種類の MDI 子ウィンドウがアクティブになったときに、MDI 子メニューの内容で MDI 親メニューの内容を更新する必要があります。
次のプロシージャでは、IsMdiContainer、AllowMerge、MergeAction、および MergeIndex プロパティを使用して、MDI 親メニューのドロップダウン部分からメニュー項目を削除します。 MDI 子ウィンドウを閉じると、削除されたメニュー項目が MDI 親メニューに復元されます。
MDI ドロップダウン メニューから MenuStrip を削除するには
フォームを作成し、その IsMdiContainer プロパティを
true
に設定します。MenuStrip を
Form1
に追加し、MenuStrip の AllowMerge プロパティをtrue
に設定します。トップレベル メニュー項目を
Form1
の MenuStrip に追加し、その Text プロパティを「&File
」に設定しますす。3 つのサブメニュー項目を
&File
メニュー項目に追加し、それらの Text プロパティをそれぞれ&Open
、&Import from
、E&xit
に設定します。2 つのサブメニュー項目を
&Import from
サブメニュー項目に追加し、それらの Text プロパティを&Word
と&Excel
に設定します。プロジェクトにフォームを追加し、フォームに MenuStrip を追加し、
Form2
の MenuStrip の AllowMerge のプロパティをtrue
に設定します。トップレベル メニュー項目を
Form2
の MenuStrip に追加し、その Text プロパティを「&File
」に設定しますす。&Import from
サブメニュー項目をForm2
の&File
メニューに追加し、&Word
サブメニュー項目を&File
メニューに追加します。Form2
メニュー項目の MergeAction プロパティと MergeIndex プロパティを、次の表に示すように設定します。Form2 のメニュー項目 MergeAction の値 MergeIndex の値 ファイル MatchOnly -1 インポート: MatchOnly -1 Word [削除] -1 Form1
で、&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
という名前の 2 つの Form コントロール。Form1
上のmenuStrip1
という名前の MenuStrip コントロールと、Form2
上のmenuStrip2
という名前の MenuStrip コントロール。System アセンブリおよび System.Windows.Forms アセンブリへの参照。
関連項目
.NET Desktop feedback