【问题标题】:vb. net wait for 2nd form to close before continuing动词。 net 等待第二个表格关闭,然后再继续
【发布时间】:2013-10-24 17:23:15
【问题描述】:

vb.net 中是否有办法暂停函数\事件并等待另一个表单关闭以继续

示例:

    Private Sub B1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles B1.Click

label1.text="Hello testing.." '1st function

form2.show() '2nd function

'MAKE FORM WAIT FOR FORM 2 TO CLOSE...
'THEN CONTINUE WITH THE NEXT FUNCTION

msgbox("Some function that was waiting in the event") '3rd function

end sub

我能找到的最接近我想要的是一个输入框,但是一个输入框在我想要的东西上是有限的,尽管它需要等待,因为我希望 Form2 能够运行。

另一个建议是循环直到 form2 关闭,但是作为解决方案,这是 hacky 和不专业的(我的意见)

【问题讨论】:

  • 实际上 InputBox 是一个封装在函数中的模态对话框。如果你想要更多的功能,可以很简单地制作你自己的。

标签: vb.net wait formclosing


【解决方案1】:

只是改变:

form2.Show()

收件人:

form2.ShowDialog()

来自ShowDialog() 的文档:

您可以使用此方法在您的 应用。调用此方法时,它后面的代码不是 直到对话框关闭后才执行

请注意,在上面的简化示例中,我们没有捕获 ShowDialog() 的返回值。

我们可以使用返回值来确定是否应该执行后续代码:

If form2.ShowDialog() = DialogResult.OK Then
    ' ... do something in here ...
End If

【讨论】:

    【解决方案2】:

    使用ShowDialog 将表单显示为模式对话框。

    您可以使用DialogResult检查表单的输出结果

    Public Sub ShowMyDialogBox()
        Dim testDialog As New Form2()
    
        ' Show testDialog as a modal dialog and determine if DialogResult = OK.
        If testDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK Then
            ' Read the contents of testDialog's TextBox.
            txtResult.Text = testDialog.TextBox1.Text
        Else
            txtResult.Text = "Cancelled"
        End If
        testDialog.Dispose()
    End Sub 'ShowMyDialogBox
    

    要将 DialogResult 分配给按钮,只需使用按钮属性:button.DialogResult

    【讨论】:

      【解决方案3】:
      public cerrar
      
      Private Sub form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
      
      form2.show()
      
      Do
      cerrar = form2.Visible
      Loop Until cerrar = False
      
      continue codigo
      
      End Sub
      
      

      【讨论】:

      • 请给您的答案添加一些解释。
      猜你喜欢
      • 1970-01-01
      • 2021-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-03
      • 2013-11-25
      • 1970-01-01
      相关资源
      最近更新 更多