リストボックスのあるフォームがあり、同じアプリケーションの開いているすべてのフォームを入力できるようにしたいと考えています。ただし、リスト ボックスからアイテムを選択し、リスト ボックス内のそのアイテムに関連付けられたフォームを閉じることができるようにしたいと考えています。これは可能ですか?
7002 次
2 に答える
4
問題の答えを見つけました。次のコードが機能します。
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim myForms As FormCollection = Application.OpenForms
For Each frmName As Form In myForms
ListBox1.Items.Add(frmName.Name.ToString)
Next
End Sub
Private Sub ListBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
If Not ListBox1.SelectedIndex = -1 Then
Dim myForm As Form = Application.OpenForms(ListBox1.Text)
myForm.Close()
End If
End Sub
下のコードをListBox1_SelectedIndexChanged
ボタンに簡単に配置できます。
于 2013-06-30T05:18:24.750 に答える
1
My.Application.OpenForms
プロジェクトで開いているフォームのコレクションです。次のようなものです:
For Each f As Form In My.Application.OpenForms
Me.SomeListBox.Items.Add(f)
Next
次に、選択したアイテムを閉じるには、
DirectCast(Me.SomeListBox.SelectedItem, Form).Close()
于 2013-06-30T04:17:13.387 に答える