vb.net - 在 vb.net 中的项目/表单之间切换时出现问题
问题描述
我正在使用 VB.Net 在 Visual Studio Community 2019 中开发一个项目。我正在开发一个用户界面,其中用户从一个表单(一种索引,称为表单 1)开始,然后从他们想要进入的下一个表单(比如表单 2)中进行选择。这部分工作正常。问题是用户完成表格2后,他们应该被引导回表格1从这里继续,我不能让这种情况发生。我需要以某种方式使主菜单成为公共共享表单,以便其他项目可以访问它,但我不知道该怎么做。
以下是表格 1 中的相关行:
Public Class frmMainMenu
Public Shared inst As frmMainMenu
Private Sub frmMenu_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
inst = Me
Timer1.Start()
Me.Show()
End Sub
Private Sub BtnGeology_Click(sender As Object, e As EventArgs) Handles
btnGeology.Click
Dim formNew As New Geology.frmGeologyMenu
formNew.Show()
Timer1.Stop()
Me.Hide()
End Sub
以下是表格 2 中的相关行。我希望第 23 行和第 24 行将用户返回到主菜单,但它不起作用。
Public Class frmGeologyMenu
Public Sub frmGeologyMenu_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
lblTime.Text = 10
Me.Show
End Sub
Private Sub BtnMainMenu_Click(sender As Object, e As EventArgs) Handles
btnMainMenu.Click
inst.frmMainMenu.Show()
inst.frmMainMenu.Timer1.Start()
Me.Close()
End Sub
感谢您提供的任何帮助!
解决方案
在 VB.NET 中,您的启动窗体始终是其类型的默认实例。这意味着您可以简单地使用类型名称来引用应用程序中任何位置的启动表单。如果您Me.Hide()
在启动表单中使用,则frmMainMenu.Show()
可以在任何地方使用以重新显示它。在 C# 中不会出现这种情况,因为默认表单实例是 VB 特有的功能。请参阅此处了解更多信息。
推荐阅读
- express - express socket.io 端口 3000 已在使用中
- typescript - 联盟类型 - 强大的结果
- ios - UIStackView 中的圆形按钮(iOS Swift)
- ios - 对变量使用 POP 时,类没有初始化器
- github - Github Enterprise 激活休眠用户
- angular - 如何在自动完成组件中设置滚动条的最大高度
- spring-boot - RabbitMQ DirectMessageListenerContainer 中的消费者 - Cloud Foundry 中的内存影响
- list - Unity3D:使用列表创建网格布局时出错
- php - 在 php 中使用 fb->get() 使用图形 api 获取 facebook 照片
- elasticsearch - 嵌套的 Elasticsearch 查询