检查表单是否已加载(即使最小化)

时间:2017-11-10 00:22:30

标签: vb.net forms winforms

我已将表单声明为

Private _fUpdate As frmUpdate

有各种解决方案可以检查表单是否开放且可见。

但是,如果表单最小化但未在任务栏中显示,则表单不会显示在Application.OpenForms中。

同样Form.IsHandleCreated返回false以上窗口状态。

即使表单尚未实例化,

If Not uForm Is Nothing也会返回True,因此它也不可用。

是否有其他方法可以检查表单是否已加载,然后是存储窗口存在和隐藏/显示状态的变量?

1 个答案:

答案 0 :(得分:0)

如果我需要从我的应用程序中的其他位置获取表单实例,我通常会做的是在您的表单中创建一个名为$(document).ready(function() { $("#fill").click(function(){ $("#user").val("name@email.com") $("#pw").val("pass123") }) }) 或类似的Shared属性并将其设置为表单的Instance事件。

使用此实例属性,您可以从应用程序中的任何其他位置调用它,并使用表单的Load属性来检查其状态。


表格示例:

WindowState


某些其他方法的示例用法:

Public Class frmUpdate
    Public Shared Property Instance As frmUpdate

    Private Sub OnLoad(sender As Object, e As EventArgs) Handles MyBase.Load
        Instance = Me
    End Sub
End Class