【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 '親フォームにサイズを合わせる

名古屋のおもしろ会社エクスブリッジ

コメント

このブログの人気の投稿

【.NET】DataGridViewを選択した際に背景色を変更しない

Can't open PID file /var/run/nginx.pid (yet?) after start: Too many levels of symbolic links

【PostgreSQL】ROWNUMのように行番号(現在行)を取得するROW_NUMBER