【VB.NET】フォームに別のフォームを動的に挿入する
Web(ASP.NET)のフレームのように左にメニューを表示させて、選択したメニューによって右にコンテンツを表示させるやり方。
環境は.NET Framework2.0, Visual Studio 2005, VB.NET(ASP.NET上ではないよ)
メニューはTreeViewを使って作成。フレームはSplitContainerで。
・・・というか「追加」→「Windowsフォーム」→「エクスプローラフォーム」を選べば、いろいろコントロールが配置されている。
TreeViewのAfterSelectイベントで次のようにコントロールを埋め込むことが可能。ここを参考に。
Dim objForm As Windows.Forms.Form = Nothing
objForm = New Form1
'Panel2にフォームをセットする
Dim objPanel As Windows.Forms.SplitterPanel = Me.SplitContainer.Panel2
objPanel.Controls.Clear()
objForm.TopLevel = False
objPanel.Controls.Add(objForm)
objForm.BringToFront() '最前面に
objForm.Show() ' 表示
objForm.Dock = DockStyle.Fill '親フォームにサイズを合わせる