System.Windows.Forms 名前空間は複数のドキュメント インターフェイス (MDI) アプリケーションをサポートし、MenuStrip コントロールはメニューのマージをサポートします。 MDI フォームは、ToolStrip コントロールもサポートします。
このチュートリアルでは、MDI フォームで ToolStripPanel コントロールを使用する方法について説明します。 このフォームでは、メニューと子メニューのマージもサポートされています。 このチュートリアルでは、次のタスクを示します。
Windows フォーム プロジェクトの作成。
フォームのメイン メニューを作成します。 メニューの実際の名前は異なります。
ToolStripPanelに コントロールを追加します。
子フォームを作成する。
ToolStripPanel コントロールを z オーダーで配置する。
完了すると、メニューのマージと移動可能な ToolStrip コントロールをサポートする MDI フォームが作成されます。
このトピックのコードを 1 つのリストとしてコピーするには、「方法: メニューの結合と ToolStrip コントロールを使用して MDI フォームを作成する」を参照してください。
[前提条件]
このチュートリアルを完了するには、Visual Studio が必要です。
プロジェクトを作成する
Visual Studio で、MdiForm (File>New>Project>Visual C# または Visual Basic>Classic Desktop>Windows フォーム アプリケーション) という名前の Windows アプリケーション プロジェクトを作成します。
Windows フォーム デザイナーで、フォームを選択します。
[プロパティ] ウィンドウで、IsMdiContainer の値を
true
に設定します。
メイン メニューを作成する
親 MDI フォームには、メイン メニューが含まれています。 メイン メニューには、ウィンドウという名前のメニュー項目が 1 つあります。 ウィンドウ メニュー項目を使用すると、子フォームを作成できます。 子フォームのメニュー項目がメイン メニューにマージされます。
ツールボックスから、MenuStrip コントロールをフォームにドラッグします。
コントロールに を追加し、ウィンドウに という名前を付けます。 MenuStrip コントロールを選択します。
[プロパティ] ウィンドウで、MdiWindowListItem プロパティの値を
ToolStripMenuItem1
に設定します。[
ウィンドウ] メニュー項目にサブ項目を追加し、[新しい]サブ項目に名前を付けます。 [プロパティ] ウィンドウで、[イベント
] をクリックします。 Click イベントをダブルクリックします。
Windows フォーム デザイナーは、Click イベントのイベント ハンドラーを生成します。
イベント ハンドラーに次のコードを挿入します。
// 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 フォーム デザイナーで MDI フォームをビルドするには、ToolStripPanel コントロールを ツールボックス に追加する必要があります。
ツールボックス を開き、[すべての Windows フォーム] タブをクリックして、使用可能な Windows フォーム コントロールを表示します。 右クリックしてショートカット メニューを開き、[項目の選択]を選択します。
[ツールボックス アイテムの選択] ダイアログ ボックスで、ToolStripPanel が表示されるまで [名前] 列を下にスクロールします。
ToolStripPanel のチェック ボックスをオンにし、[OK] をクリックします。
ToolStripPanelに コントロールが表示されます。
子フォームを作成する
この手順では、独自の MenuStrip コントロールを持つ個別の子フォーム クラスを定義します。 このフォームのメニュー項目は、親フォームのメニュー項目とマージされます。
ChildForm
という名前の新しいフォームをプロジェクトに追加します。詳細については、「方法: Windows フォームをプロジェクトに追加する」を参照してください。
ツールボックスから、MenuStrip コントロールを子フォームにドラッグします。
コントロールのデザイナー アクション グリフ ( ) をクリックし、[アイテムの編集]小さい黒い矢印 選択します。 [項目コレクション エディター] ダイアログ ボックスで、ToolStripMenuItem という名前の新しい を子メニューに追加します。
詳細については、「ToolStrip アイテムコレクションエディター」を参照してください。
フォームをテストする
F5
押して、フォームをコンパイルして実行します。 ウィンドウのメニュー項目 をクリックしてメニューを開き、次に [新規] をクリックします。
新しい子フォームがフォームの MDI クライアント領域に作成されます。 子フォームのメニューがメイン メニューとマージされます。
子フォームを閉じます。
子フォームのメニューがメイン メニューから削除されます。
新規 を数回クリックします。
コントロールの MenuStrip プロパティが割り当てられるため、子フォームは MdiWindowListItem メニュー項目の下に自動的に表示されます。
ToolStrip のサポートを追加する
この手順では、MDI 親フォームに 4 つの ToolStrip コントロールを追加します。 各 ToolStrip コントロールは、フォームの端にドッキングされる ToolStripPanel コントロール内に追加されます。
ツールボックスから、ToolStripPanel コントロールをフォームにドラッグします。
ToolStripPanel コントロールを選択した状態で、ToolStripの コントロールをダブルクリックします。
ToolStrip コントロールに ToolStripPanel コントロールが作成されます。
ToolStripPanel コントロールを選択します。
[プロパティ] ウィンドウで、コントロールの Dock プロパティの値を Leftに変更します。
ToolStripPanel コントロールは、フォームの左側のメイン メニューの下にドッキングします。 MDI クライアント領域は、ToolStripPanel コントロールに合わせてサイズ変更されます。
手順 1 から 4 を繰り返します。
新しい ToolStripPanel コントロールをフォームの上部にドッキングします。
ToolStripPanel コントロールはメイン メニューの下にドッキングされますが、最初の ToolStripPanel コントロールの右側にドッキングされます。 この手順では、ToolStripPanel コントロールを正しく配置する場合の z オーダーの重要性を示します。
さらに 2 つの ToolStripPanel コントロールについて、手順 1 から 4 を繰り返します。
新しい ToolStripPanel コントロールをフォームの右側と下部にドッキングします。
ToolStripPanel コントロールを Z オーダーで配置する
MDI フォーム上のドッキングされた ToolStripPanel コントロールの位置は、z オーダーでのコントロールの位置によって決まります。 [ドキュメント アウトライン] ウィンドウでは、コントロールの z オーダーを簡単に配置できます。
[表示] メニューの [その他のウィンドウ] をクリックし、[ドキュメント アウトライン] をクリックします。
前の手順の ToolStripPanel コントロールの配置は非標準です。 これは、z オーダーが正しくないためです。 コントロールの z オーダーを変更するには、[ドキュメント アウトライン] ウィンドウを使用します。
[ドキュメント アウトライン] ウィンドウで、ToolStripPanel4
選択します。 ToolStripPanel4 が一覧の一番下になるまで、下矢印ボタンを繰り返しクリックします。
ToolStripPanel4 コントロールは、フォームの下部にある他のコントロールの下にドッキングされます。
[ToolStripPanel2] を選択します。
下矢印ボタンを 1 回クリックして、コントロールをリストの 3 番目の位置に配置します。
ToolStripPanel2 コントロールは、フォームの上部、メイン メニューの下、およびその他のコントロールの上にドッキングされます。
ドキュメント アウトライン ウィンドウでさまざまなコントロールを選択し、z オーダーで異なる位置に移動します。 ドッキングされたコントロールの配置に対する z オーダーの効果に注意してください。 [
編集 メニューの [CTRL-Z] または [元に戻す] を使用して、変更を元に戻します。]
チェックポイント - フォームをテストする
F5
押して、フォームをコンパイルして実行します。 ToolStrip コントロールのグリップをクリックし、フォーム上の別の位置にコントロールをドラッグします。
ToolStrip コントロールを 1 つの ToolStripPanel コントロールから別のコントロールにドラッグできます。
次のステップ
このチュートリアルでは、ToolStrip コントロールとメニューのマージを使用して MDI 親フォームを作成しました。 ToolStrip コントロール ファミリは、他の多くの目的で使用できます。
ContextMenuStripを使用してコントロールのショートカット メニューを作成します。 詳細については、「ContextMenu コンポーネントの概要」を参照してください。
標準メニューが自動的に設定されたフォームを作成しました。 詳細については、「チュートリアル: フォームに標準メニュー項目を提供する」を参照してください。
ToolStrip コントロールにプロフェッショナルな外観を与えます。 詳細については、「方法: アプリケーションの ToolStrip レンダラーを設定する」を参照してください。
こちらも参照ください
- MenuStrip
- ToolStrip
- StatusStrip
- 方法: MDI 親フォーム を作成する
- 方法: MDI 子フォーム を作成する
- 方法: MDI Drop-Down メニュー に MenuStrip を挿入する
- ToolStrip コントロール
.NET Desktop feedback