我有很多代理用于修改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)语句中?
答案 0 :(得分:0)
意见:我之前遇到过同样的问题。这就是我所做的。
选项1:使您的splashScreen成为一个启动表单(我将时间间隔设为5秒),在主窗口出现5秒后,使用启动画面的Me.Hide()
选项2:您的应用程序设置中有一个选项,请查看“我的项目”>应用。找到名为“关闭模式”的选项,然后选择“当最后一个表单关闭时”。这样,您可以在打开主窗口后在启动画面窗口中使用Me.Close()
。