如果它仍然打开,关闭Splashscreen

时间:2015-11-08 16:25:16

标签: vb.net delegates visual-studio-2015 splash-screen

我有很多代理用于修改Form1控件,如果用户启动应用程序,并开始使用SplashScreen打开处理,则会出现冲突。

为了关闭SplashScreen,到目前为止,我有一个菜单项(由用户选择):

 Dim splash As NXGSplashScreen = CType(Application.OpenForms(0), NXGSplashScreen)
 splash.Invoke(New CloseSplashDelegate(AddressOf splash.closesplashscreen))

并且在SplashScreen类(.vb)中我有:

  Sub closesplashscreen()
     Me.Close()
  End Sub

现在,唯一的问题是如果SplashScreen已经关闭,那么第一行代码(上面)将引发异常,因为Form1无法实例化为SplashScreen。

因此,找出SplashScreen是关闭还是显示的安全方法是什么 - 所以上面的代码可以放在逻辑(if)语句中?

1 个答案:

答案 0 :(得分:0)

意见:我之前遇到过同样的问题。这就是我所做的。

选项1:使您的splashScreen成为一个启动表单(我将时间间隔设为5秒),在主窗口出现5秒后,使用启动画面的Me.Hide()

选项2:您的应用程序设置中有一个选项,请查看“我的项目”>应用。找到名为“关闭模式”的选项,然后选择“当最后一个表单关闭时”。这样,您可以在打开主窗口后在启动画面窗口中使用Me.Close()