投稿者 zz6989  (社会人) 投稿日時 2012/6/5 12:45:25
追記と訂正です。

>プロジェクトのプロパティ画面      初期状態のままですが
シャットダウンモードが「スタートアップフォームが閉じるとき」のことです。
るきお先生が書いてくださったコードの動作が目的の動作であれば、また的外れのサンプルかもしれません、的外れだったらごめんなさい。

Form2側
 
 Public Class Form2
    Private Sub Form2_Load(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles MyBase.Load
        ListBox1.Items.AddRange({"Apple""Banana""Cat""Dog"})

    End Sub
    Private Sub ListBox1_DoubleClick(ByVal sender As ObjectByVal e As System.EventArgs) Handles ListBox1.DoubleClick

        If ListBox1.SelectedItem Is Nothing Then
            '何も選択されていなければ何もしない。   
            Return
        End If

        '追加した部分です  
        Dim f As New Form1
        f = Me.Owner
        f.Show(ListBox1.SelectedItem)  '変更した部分です。 
        Me.Close()
    End Sub
    Private Sub ListBox1_KeyPress(ByVal sender As ObjectByVal e As System.Windows.Forms.KeyPressEventArgs) Handles ListBox1.KeyPress

        If e.KeyChar = Chr(Keys.Enter) Then
            ListBox1_DoubleClick(sender, e)

        End If

        Me.Close()

    End Sub

End Class


せっかくOverloadを使用していますので、後でListBoxの値をInteger型などに変更した場合、るきお先生のコードのように f.Show(ListBox1.SelectedItem) としておくと、有利だと思います。
 Public Overloads Sub Show(ByVal value As Integer)みたいに同じShowでも、型が違うメソッドを複数利用できますしね。