我已经创建了两个项目。其中一个项目是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