Vb.net 多次打开同一表单

Vb.net 多次打开同一表单,vb.net,winforms,Vb.net,Winforms,是否可以多次打开表单 按钮1 表格2.1 按下按钮1 表格2打开了 再次按下按钮1 另一个form2将在旧form2旁边打开 如果可能的话,Form1上的一个按钮可以关闭所有打开的Form2窗口吗?当然可以。只需将同一表单的两个实例变暗即可 Dim MyNewForm2 = New Form2 MyNewForm2.Show Public Class Form1 Private m_WindowList As New List(Of Form2) Private Sub O

是否可以多次打开表单

按钮1 表格2.1

按下按钮1 表格2打开了

再次按下按钮1 另一个form2将在旧form2旁边打开


如果可能的话,Form1上的一个按钮可以关闭所有打开的Form2窗口吗?

当然可以。只需将同一表单的两个实例变暗即可

Dim MyNewForm2 = New Form2
MyNewForm2.Show
Public Class Form1

    Private m_WindowList As New List(Of Form2)

    Private Sub OpenWindowButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenWindowButton.Click
        OpenWindow()
    End Sub

    Private Sub CloseWindowsButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CloseWindowsButton.Click
        CloseWindows()
    End Sub

    Private Sub OpenWindowsButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenWindowsButton.Click
        Dim WindowCount As Int32
        If Int32.TryParse(WindowCountTextBox.Text, WindowCount) Then
            OpenWindows(WindowCount)
        End If
    End Sub

    Private Sub OpenWindow()
        Dim NewWindow As New Form2
        m_WindowList.Add(NewWindow)
        NewWindow.Show()
    End Sub

    Private Sub OpenWindows(ByVal Count As Int32)
        For i = 1 To Count
            OpenWindow()
        Next
    End Sub

    Private Sub CloseWindows()
        For Each Window In m_WindowList
            Window.Close()
            Window.Dispose()
        Next
        m_WindowList.Clear()
    End Sub

End Class

只是出于好奇。有没有一种方法可以让一个按钮1打开一个文本框中的一个数字代表多少个窗口?另外,要关闭所有form2,请禁用任何正在使用的功能?@SirAudens,有几种方法可以实现它,一种简单的方法是在本地数组中保留对所有新窗口的引用,然后在第二个按钮上单击“全部关闭/杀死”。顺便说一句,如果这解决了你的问题,请别忘了在帖子上注明答案。这就是我要找的。我希望我能有更多的答案,因为有电话可以帮助我。但遗憾的是,Tel有更多我需要的信息对象引用没有设置为对象的实例。m_WindowList.Add(NewWindow)该行有问题很抱歉,请在m_WindowList的声明中添加新内容。我已经在上面的答案中修复了它。嘿,别问我为什么这么做,但我已经清理了它,并添加了您提到的额外的多开放功能。