投稿者 あにす  () 投稿日時 2008/9/27 07:06:16
求められている仕様がいまいちよくわからないのですが、こんなのはどうでしょうか? 
これなら簡単だし、フォームを増やすのも楽だと思います。 

Option Strict Off 

Public Class Form1 
    Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles MyBase.Load 
        Me.ComboBox1.DisplayMember = "Text" 
        Me.ComboBox1.Items.Add(New Form2()) 
    End Sub 

    Private Sub Button1_Click(ByVal sender As ObjectByVal e As System.EventArgs) Handles Button1.Click 
        Dim selectedForm As Form = Me.ComboBox1.SelectedItem 
        selectedForm.Show() 
    End Sub 
End Class 

Public Class Form2 
    Inherits Form 

    Public Sub New() 
        Me.Text = "Form2" 
    End Sub 

    Private Sub Form2_FormClosing(ByVal sender As ObjectByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing 
        e.Cancel = True 
        Me.Hide() 
    End Sub 
End Class 


フォームが増えた場合は 
Me.ComboBox1.Items.Add(New Form3()) 
と追加していくだけです。 

このままだと閉じたフォームを再度開こうとしたときにエラーが出るので少し工夫が要りますけどね。