VB.Net启动表单立即退出

时间:2016-09-01 18:49:27

标签: vb.net winforms

我在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

1 个答案:

答案 0 :(得分:0)

这是令人尴尬的!当用户成功登录时,我打电话关闭登录窗口。我使用FormClosing子例程来检查窗口关闭的原因。在e.CloseReason = CloseReason.UserClosing的情况下,我致电Application.Exit()。显然,Me.Close()设置了用户原因,应用程序将始终退出。为了解决这个问题,我在登录类中添加了一个局部变量_userClosedApp,在应用程序逻辑关闭窗口的情况下,该{1}}将是false。添加对此值的检查已更正此问题。 谢谢大家对此事的帮助!