Vb.net Visual Basic SplashScreen不使用版本选择窗体
我会尽量保持简短,不遗漏细节。我在Visual Stuido 2012中使用.NET 4.5 我有一个启动屏幕,一个“版本选择”表单作为我的主要启动表单,然后根据用户的选择从那里以两种方式分支出来 版本选择可以保存用户的选择以备将来使用,并检查他们是否保存了设置,如果保存了设置,则跳过选择表单并直接转到他们的版本。我遇到的问题是,当用户有一个保存的版本时,启动屏幕保持打开状态,除非我强迫它关闭,否则它永远不会关闭 我尝试在应用程序事件中使用最小SplashScreen时间,但这没有帮助。仅当用户保存了版本时才会发生这种情况 有什么想法吗?我可以根据需要发布更多细节。提前谢谢Vb.net Visual Basic SplashScreen不使用版本选择窗体,vb.net,visual-studio-2012,Vb.net,Visual Studio 2012,我会尽量保持简短,不遗漏细节。我在Visual Stuido 2012中使用.NET 4.5 我有一个启动屏幕,一个“版本选择”表单作为我的主要启动表单,然后根据用户的选择从那里以两种方式分支出来 版本选择可以保存用户的选择以备将来使用,并检查他们是否保存了设置,如果保存了设置,则跳过选择表单并直接转到他们的版本。我遇到的问题是,当用户有一个保存的版本时,启动屏幕保持打开状态,除非我强迫它关闭,否则它永远不会关闭 我尝试在应用程序事件中使用最小SplashScreen时间,但这没有帮助。仅当用户
根据评论
Private Sub Version_Selection_Form_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If My.Settings.VersionSelected = "OSRS" Then
'Code to close initial form and load old school
Dim OSmain As New OldSchoolMain
OSmain.Show()
Me.Close()
ElseIf My.Settings.VersionSelected = "RS3" Then
'Code to close intital form and load RS3
End If
End Sub
Private Sub btnConfirmSelection_Click(sender As Object, e As EventArgs) Handles btnConfirmSelection.Click
If radOSRS.Checked = True Then
If cboxSaveVersion.Checked = True Then
My.Settings.VersionSelected = "OSRS"
End If
Dim OSmain As New OldSchoolMain
OSmain.Show()
Me.Close()
ElseIf radRS3.Checked = True Then
If cboxSaveVersion.Checked = True Then
My.Settings.VersionSelected = "RS3"
End If
Dim RS3main As New RS3Main
RS3main.Show()
Me.Close()
End If
End Sub
查看您的代码,我认为您的启动屏幕的问题在于您在启动表单完成之前关闭了它。我会尝试使用表单事件,因为它在SplashScreen完成之前不会被触发,我也会最小化表单以避免它在屏幕上短暂闪烁。看看这样的东西是否适合你
Private Sub Splash_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
If My.Settings.StartupForm = "Form1" Then
Dim frm As New Form1
frm.Show()
Me.WindowState = FormWindowState.Minimized
Me.ShowInTaskbar = False
Me.Close()
ElseIf My.Settings.StartupForm = "Form2" Then
Dim frm As New Form2
frm.Show()
Me.WindowState = FormWindowState.Minimized
Me.ShowInTaskbar = False
Me.Close()
End If
End Sub
如何创建/显示初始屏幕,以及如何显示不同的表单。我正在使用项目属性添加初始屏幕。选择的版本是主要的启动表单,一旦用户做出选择或读取他们保存的设置,它将创建一个与他们的选择相关的表单的新实例并显示它。如果出现“版本选择”屏幕,它将创建新实例,显示新实例,然后自行关闭。@MarkHall是否正在使用应用程序框架,在我继续构建时是否需要进行重大重新编码或导致问题?我的代码设置有点不同,它使用了两个单选按钮和一个复选框来保存选项。如果radio1.Checked=True,那么如果cboxSaveVersion.Checked=True,那么My.Settings.VersionSelected=“value1”如果Dim formV1作为新表单formV1.Show()Me.Close()ElseIF结束(第二个选项的代码类似)如果使用模块是最好的方式,那么结束?这就是为什么我删除了我的答案,它会删除easy splash screen,并要求您从头开始创建和实现一个。我过去也这样做过。如果您发布用于显示屏幕的代码,我可能会知道发生了什么。私有子版本\u选择\u表单\u加载(发件人作为对象,e作为事件参数)处理MyBase.Load If My.Settings.VersionSelected=“OSRS”然后“编写代码关闭初始表单并将旧学校Dim OSmain加载为新的旧学校Dim OSmain.Show()Me.close()ElseIf My.Settings.VersionSelected=“RS3”然后”编写代码关闭初始表单并加载RS3 End If End Sub