我在Windows 7上使用Visual Studio 2012开发的VB.Net应用程序的启动表单出现的时间非常短暂,然后消失。
我的启动表单是一个“启动板”,用户可以选择不同的应用程序选项。我在“应用程序属性”窗口中设置了“启动”表单值。
我也在使用Application Events来启动一个窗口来收集用户凭据。如果凭据正确,则应显示启动表单。否则,将提示用户再次输入其信息,或者他们可以完全退出应用程序。这是我的启动代码;我在这个逻辑中设置了一些其他值。
Private Sub MyApplication_Startup(sender As Object, e As ApplicationServices.StartupEventArgs) Handles Me.Startup
Dim sysLogon As New SYSLogon
sysLogon.ShowDialog()
_currentUser = sysLogon.UserData
_currentAlias = _currentUser
_systemData = New StaticData()
End Sub
登录窗口按预期显示,但在输入有效凭据后,我只看到启动表单的快速闪烁,然后应用程序退出。我已将启动和表单加载代码包装在try / catch块中,并且我没有发现任何异常。
我已经清理了构建,删除并重建了pdb文件,并尝试了调试和发布版本。我还缺少其他可以解决此问题的设置吗?我最近没有更改启动表单和应用程序事件文件 - 这些都是以前工作的,唯一的区别是我已经离开这个项目几个星期了。
以下是成功登录后立即调用的内容:
Private Sub LaunchPad_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.CenterToScreen()
End Sub
答案 0 :(得分:0)
FormClosing
子例程来检查窗口关闭的原因。在e.CloseReason = CloseReason.UserClosing
的情况下,我致电Application.Exit()
。显然,Me.Close()
设置了用户原因,应用程序将始终退出。为了解决这个问题,我在登录类中添加了一个局部变量_userClosedApp
,在应用程序逻辑关闭窗口的情况下,该{1}}将是false
。添加对此值的检查已更正此问题。
谢谢大家对此事的帮助!