C#/VB.NET 複数ウィンドウをフォームに表示させる方法 MDIフォーム

C#/VB.NET でMDIフォームを使って複数のウィンドウを同時に表示する方法を説明します。

複数のウィンドウを同時に表示するにはどうすればいいですか?

MDIフォームを利用することで、親フォームに対して複数の子ウィンドウを作成することができます。

目次

MDIフォームで複数ウィンドウを表示させる方法

 MDI(Multiple Document Interface)フォームを利用するには、普段利用しているフォームのプロパティの中のIsMdiContainerプロパティtrueにします。

 新規のウィンドウを作成するには、MenuStripコントロールからの実行がおすすめです。MenuStripコントロールを配置し、新規ボタンを作成します。新規を押したときに、子フォームを作成します。

MDIフォーム

フォームに複数のメモ帳を表示させるサンプルプログラム

 以下は、新規ボタンクリック時にフォームにリッチテキストを設置して複数のメモ帳を開けるようなサンプルになります。

複数のメモ帳を開けるフォーム
        private void 新規ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form form = new Form();
            
            RichTextBox richTextBox = new RichTextBox();
            richTextBox.Dock = DockStyle.Fill;

            form.MdiParent = this;
            form.Text = "メモ帳" + MdiChildren.Length;
            form.Size = new Size(300, 300);
            form.Controls.Add(richTextBox);
            form.Show();
        }
        Private Sub 新規ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 新規ToolStripMenuItem.Click
            Dim form As New Form()

            Dim richTextBox As New RichTextBox()
            richTextBox.Dock = DockStyle.Fill

            form.MdiParent = Me
            form.Text = "メモ帳" & MdiChildren.Length
            form.Size = New Size(300, 300)
            form.Controls.Add(richTextBox)
            form.Show()
        End Sub

上記のサンプルでは、以下のような処理をしています。

  • 一番最初に、新しいフォームを作成し、変数formに代入しています。
  • 次に、新しいRichTextBoxを作成し、変数richTextBoxに代入しています。
  • RichTextBoxのドッキングスタイルをDockStyle.Fillに設定し、RichTextBoxがフォームの全領域を埋め尽くすようにしています。
  • 新しいフォームを親として設定して、これがMDIフォームとなります。
  • 新しいフォームのタイトルを”メモ帳”にし、MdiChildren.Lengthを追加し、子フォームの数を表示します。
  • 新しいフォームのサイズを300×300に設定しています。
  • 新しいフォームにRichTextBoxを追加します。
  • 最後に、新しいフォームを表示します。

リスキリングでキャリアアップしてみませんか?

リスキリング(学び直し)は、経済産業省が推奨しており、

今だけ、最大70%のキャッシュバックを受けることができます。

リスキリング 給付金が出るスクール紹介

最大70%の給付金が出るおすすめのプログラミングスクール!

国策で予算が決められているため申し込みが多い場合は早期に終了する可能性があります!

興味のある方はすぐに確認しましょう。

まとめ

MDIフォームを使用して、複数のフォームを表示する方法について解説しました。

  • MDIフォームを使って複数のウィンドウを同時に表示することができます。
  • MDIフォームは、子フォームを複数表示するためのフォームです。
  • フォームクラスには、IsMdiContainerプロパティがあり、これをtrueに設定することでMDIフォームを作成できます。
  • 子フォームを作成し、MdiParentプロパティにMDIフォームを設定し、Showメソッドを呼び出すことで子フォームを表示することができます。

複数のフォームを同じウィンドウに作成することができました。

MDIフォームを使う場合、子フォームのレイアウトを調整することで、より見やすく、使いやすいアプリケーションを作ることができます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次