我正在尝试使用Do Until创建表单。问题是当运行此代码时,我得到一个异常:“System.InvalidCastException”。 所以这是我试图运行的代码:
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim x As Boolean = False
Do Until x
If Form2.Visible = False & Form3.Visible = False & Form4.Visible = False Then
x = True
End If
Loop
End
End Sub
另外作为我正在尝试做的解释:当form2,form3和form4不可见时程序将结束
答案 0 :(得分:2)
在VB.NET中,使用的逻辑运算符是和或更好 AndAlso
If Form2.Visible = False AndAlso
Form3.Visible = False AndAlso
Form4.Visible = False Then
x = True
End if
AndAlso更好,因为如果运算符的左侧是假的,那么它会立即中断测试而不评估线的其余部分
当然,请记住,如果这些形式中的任何一个是可见的,那么这个循环就是一个无限循环。它将继续无限制地运行,您无法对其他表单执行任何操作以允许其退出。这将有效地粉碎你的用户界面 至少你需要在这里添加一个Application.DoEvents以允许在该循环中发生一些其他动作。