创建一个新的表单实例并保持打开状态

Create a new instance of a form and keep it open

我创建了两个项目。其中一个项目是 StartUp 项目。另一个是 GUI。我正在尝试通过 StartUp 项目(引用 GUI)在 GUI 中启动表单。

启动项目:

Imports Container

Module modMain
    Sub main()
        Shell.Start()
    End Sub
End Module

GUI 项目:

'----------------Form File------------------

Public Class Container

End Class

'----------------Shell File------------------

Public Class Shell
    Private Shared container_ As New Container

    Public Shared Sub Start()
        container_.Controls.Add(host_)
        container_.Show()
    End Sub

    Private Shared host_ As Panel

    Private Sub InitLayout()

        host_ = New System.Windows.Forms.Panel()
        Dim btn As New Button()
        btn.Text = "Click me"
        host_.Controls.Add(btn)

    End Sub

End Class

当我 运行 时,表格只出现几秒钟然后立即关闭。 (我认为)这是因为我没有放置任何关闭处理程序,但我不确定如何执行此操作。

目的是在用户关闭它之前保持打开状态。

表单关闭的原因是您的应用程序正在关闭,这反过来又关闭了所有打开的表单。

尝试使用 Application.Run 指定表单。像这样:

Module modMain
    Sub Main()
        Dim guiForm As Form = Shell.MainGuiForm
        Application.Run(guiForm)
    End Sub
End Module

您需要在 Shell class:

中引用表格
Public Class Shell
    Private Shared _container As New ContainerForm
    Public Shared ReadOnly Property MainGuiForm As Form
        Get 
            Return _container
        End Get
End Class