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



我已经创建了两个项目。其中一个项目是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类中引用表单:

Public Class Shell
    Private Shared _container As New ContainerForm
    Public Shared ReadOnly Property MainGuiForm As Form
        Get 
            Return _container
        End Get
End Class

相关内容

  • 没有找到相关文章