vb .net检查是否唯一打开的窗口是当前窗口

时间:2018-09-07 09:25:41

标签: vb.net

我正在处理一个具有多个窗口的项目,用户单击“开始”按钮后会打开这些窗口。如果其他窗口仍处于打开状态,则单击“开始”按钮时,我需要通过显示错误消息来限制用户。

这是我使用“开始”按钮进入主窗口的结果:

Private Sub btnStart_Click(sender As Object, e As EventArgs) Handles btnStart.Click
Dim openForms As New FormCollection()
openForms = Application.OpenForms()

If openForms.Count > 1 Then
    MessageBox.Show("ERROR MESSAGE", "Errors", MessageBoxButtons.OK, MessageBoxIcon.Error)
Else
    'some codes here
End If
End Sub

上面的代码的问题在于,并非所有的窗口都被正确地“放置”,因此即使关闭了窗口也仍处于“打开”状态。而且我无法编辑其他窗口。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以这样尝试:

If Application.OpenForms().OfType(Of Form2).Any Then
  MessageBox.Show("Opened")
Else
  'Else
End If