【发布时间】:2019-01-01 18:40:24
【问题描述】:
作为标题,我正在尝试关闭所有打开的表单,但 VB.Net 中的一些表单除外,但表单并没有关闭。 这是我使用的代码:
Dim lista As New FormCollection
lista = Application.OpenForms
For Each a As Form In lista
If Not a.Text = "formLogout" And a.Text = "arresto" And a.Text = "riavvio" And a.Text = "formOpen" Then
a.Close()
End If
Next
scrivania.Close()
Me.Close()
格雷西。
【问题讨论】:
-
你的表达是parsed as
If (Not (a.Text = "formLogout")) And (a.Text = "arresto") And (a.Text = "riavvio") And (a.Text = "formOpen") Then总是假的。 -
@GSerg:感谢您强调布尔表达式中关联性的重要性。在我看来,括号的使用应该是强制性的。
-
@GSerg 我用括号试过了,但它不起作用。
-
@HelloXD 我没有告诉你尝试使用括号。我展示了(在括号的帮助下)你的表达式是如何当前解析的。
-
在一行上说
Dim lista As New FormCollection(强调“新”)和在下一行上说lista = somethingelse表明了对语言如何处理对象引用与对象实例的核心误解。