Vb.net 如何防止用户一次打开多个表单?

Vb.net 如何防止用户一次打开多个表单?,vb.net,Vb.net,我在VB.NET中开发了一个应用程序。它有20种形式。所有20个都可以通过菜单条控件打开。用户一次只能打开一个表单。我该如何处理这个问题?您可以将所有表单设置为模态,然后用户必须先关闭一个表单,然后再打开另一个表单 只需将此代码添加到您编写的代码中,即可在MDI父级中打开新表单。假设MDI Parent1是您的MDI表单名称: If Not IsNothing(MDIParent1.ActiveMdiChild) Then Exit Sub End If 在MD

我在VB.NET中开发了一个应用程序。它有20种形式。所有20个都可以通过菜单条控件打开。用户一次只能打开一个表单。我该如何处理这个问题?

您可以将所有表单设置为模态,然后用户必须先关闭一个表单,然后再打开另一个表单


只需将此代码添加到您编写的代码中,即可在MDI父级中打开新表单。假设MDI Parent1是您的MDI表单名称:

    If Not IsNothing(MDIParent1.ActiveMdiChild) Then
        Exit Sub
    End If

在MDI父窗体中创建一个方法,并将其称为CloseChildForms

Private Sub CloseChildForms()

    Try

        If Not IsNothing(Me.ActiveMdiChild) Then

            Me.ActiveMdiChild.Close()

        Else

            Exit Sub

        End If

    Catch ex As Exception

        'Handle your exceptions

    End Try

End Sub

现在,在打开任何其他表单之前,只需调用此方法。

使用modality甚至不允许访问MDIParent。