关闭对话框表格并打开另一个表格

时间:2016-02-21 23:19:56

标签: vb.net winforms

关闭表单并打开另一个表单后,我得到了(我相信的)一个奇怪的问题。

我在特定表单上有一个按钮(使用.ShowDialog打开,如果这有任何区别),单击该按钮时,会运行以下代码:

Me.Close()
LC.ShowDialog()

我希望包含该按钮的表单应该关闭,LC表单应该作为对话框形式打开。实际发生的是Me形式保持打开状态,LC形式出现在主要焦点后面。

为什么会这样?

更新1

只是为了澄清表格的设置:

  • Form1打开me表单作为对话框(其中Form1是启动时启动的主窗体)
  • me表单会打开LC表单,并应在此过程中关闭

3 个答案:

答案 0 :(得分:1)

好吧,你好像有一个受孕问题......

让我们通过,如果你打电话给我。关闭(),你要求你的表格自行终止,并杀死他生成的所有表格。 但是,它不是直接的,Windows消息会发布到您的应用程序,只要您完成功能,它就会被处理。

然后,在此之后,您创建一个新表单,并表示您要等待它关闭以继续。

我不知道你的目的是什么,但你有一些解决方案:

  • 如果您想在完成LC后返回主表单(Form1):

    Me.Hide()
    LC.ShowDialog()
    =>Your code will pick up here when LC will be closed
    Me.Show()
    
  • 如果您不希望Form1再次打开,请不要将其作为初始表单,或者开始使用Sub Main()

答案 1 :(得分:0)

使form1成为表单的流程管理器。我的意思是,form1应该打开lc并关闭我。

答案 2 :(得分:-2)

您必须从父表单调用两个Dialog Forms。 你可以这样做:

父母表格

  FirstDialog.Showdialog
  (the app will open this dialog and wait it close)

  SecondDialog.Showdialog

这样,只有当第一个对话框关闭时,第二个对话框才会打开。 您无法从关闭的对话框中启动另一个对话框。

祝你好运