Public Class Form1 Dim LB1 As New ListBox With {.SelectionMode = SelectionMode.MultiSimple} Sub Form_Load() Handles Me.Load 'ここは全部リストボックスの準備 Me.LB1.Items.AddRange({1, 2, 3, 4, 5}) Me.Controls.AddRange({LB1}) AddHandler LB1.DoubleClick, AddressOf test End Sub Sub test() 'ここが DoubleClickした時の処理の部分 Form2.Show(Me, Me.LB1.SelectedItems) '←オーバーロード版を呼び出し Me.Hide() ' Form2へ選択項目の情報を渡したら自分は消える End Sub End Class Class Form2 Inherits Form Sub test() Handles Me.FormClosing 'もし自分が消えそうになったら Me.Owner.Show() '忘れずに呼び出し元を表示する End Sub Public Overloads Sub Show(ByVal Owner As IWin32Window, _ ByVal ListBox_DATA As ListBox.SelectedObjectCollection) 'Form1からListBox(LB1)の選択項目↑も受け取る(&その選択項目の型を指定) Dim LB2 As New ListBox '←Form2へListBox(LB2)を追加(毎回初期化) Me.Controls.Add(LB2) For Each i In ListBox_DATA 'ListBox_DATAは Form1.LB1のSelectedItems LB2.Items.Add(i) 'ListBox_DATAの中身を 1個づつ追加する Next Me.Show(Owner) '後々のために呼び出し元を覚えておく End Sub '#見た目がショボいのは勘弁してください(人間見た目じゃないよ!) End Class