Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VB.net启动屏幕隐藏模式对话框,但不在visual studio中_Vb.net_Visual Studio 2010 - Fatal编程技术网

VB.net启动屏幕隐藏模式对话框,但不在visual studio中

VB.net启动屏幕隐藏模式对话框,但不在visual studio中,vb.net,visual-studio-2010,Vb.net,Visual Studio 2010,我犯了一个奇怪的错误。我正在做一个.net项目。当我构建setup.exe并安装应用程序时,启动屏幕后面会出现一个模式登录对话框。当我在VisualStudio2010中运行应用程序时,如我所料,启动屏幕顶部会出现模式登录对话框 打开模式登录对话框的代码是: Private Sub frmMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load ... do database loading

我犯了一个奇怪的错误。我正在做一个.net项目。当我构建setup.exe并安装应用程序时,启动屏幕后面会出现一个模式登录对话框。当我在VisualStudio2010中运行应用程序时,如我所料,启动屏幕顶部会出现模式登录对话框

打开模式登录对话框的代码是:

Private Sub frmMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  ... do database loading
  Dim loginForm As New frmLogin
  If loginForm.ShowDialog() = Windows.Forms.DialogResult.OK Then

  End If

   ... load fields, etc
End Sub

有人知道为什么我在安装的vs Visual Studio中看到不同的行为吗?任何关于如何解决此问题的想法。

启动屏幕与UI线程拥有的窗口没有z顺序关系,任何顺序都可能发生。而一个对话框总是需要一个窗口,它可以把焦点放回原处。在显示对话框之前,必须确保启动屏幕已关闭。您不能使用Load事件,因为还没有功能窗口。通过将此代码移动到所示事件的事件处理程序中,所有这些问题都得到了解决。这是有意义的。谢谢关于将代码移动到显示的位置,那么表单是否会变为空,用户将不得不看着它填充?另外,如果用户不是授权用户,我真的不希望发生任何处理。在用户通过身份验证之前,将有大量数据被记录下来。那么,您的代码就错了。您应该正常显示frmLogin,而不是以对话框的形式显示。在“确定”按钮上,单击“显示主窗口”。项目+属性,应用程序选项卡,更改关机模式设置。我认为更改可能会造成太大的中断,因为我们有时需要登录,有时不需要。有没有一种方法可以从代码关闭启动屏幕?我试着做了我的.Application.SplashScreen.Close和我的.Application.SplashScreen.Hide,但是它们抛出了不同的线程异常。我试过了你最初的解决方案,甚至把事情改成了节目,我认为这已经足够好了。请将其作为解决方案发布,以便我可以接受。谢谢你的帮助。