My.Application.OpenForms 属性

更新:2007 年 11 月

获取应用程序的所有打开的窗体的集合。

' Usage
Dim value As System.Windows.Forms.FormCollection = My.Application.OpenForms
' Declaration
Public ReadOnly Property OpenForms As System.Windows.Forms.FormCollection

返回值

一个 FormCollection 对象,它包含应用程序的所有打开的窗体。

备注

My.Application.OpenForms 属性获取应用程序的所有打开的窗体的集合。此行为等同于 Application.OpenForms 属性。

说明:

My.Application.OpenForms 属性返回所有打开的窗体,而不考虑由哪个线程打开这些窗体。您应该在访问每个窗体前检查其 InvokeRequired 属性;否则,它可能引发 InvalidOperationException 异常。有关更多信息,请参见如何:访问应用程序中所有打开的窗体

任务

下表列出了涉及 My.Application.OpenForms 属性的任务的示例。

要执行的操作

请参见

显示应用程序的所有打开的窗体的标题

如何:访问应用程序中所有打开的窗体

示例

此示例循环通过应用程序的打开的窗体,选择当前线程可直接访问的窗体,并且在 ListBox 控件中显示其标题。若要访问打开的窗体,请参见如何:访问应用程序中所有打开的窗体

Private Sub GetOpenFormTitles()
    Dim formTitles As New Collection

    Try
        For Each f As Form In My.Application.OpenForms
            If Not f.InvokeRequired Then
                ' Can access the form directly.
                formTitles.Add(f.Text)
            End If
        Next
    Catch ex As Exception
        formTitles.Add("Error: " & ex.Message)
    End Try

    Form1.ListBox1.DataSource = formTitles
End Sub

此示例要求您的 Windows 窗体应用程序具有名为 Form1 的窗体,而且该窗体包含名为 ListBox1 的列表框。

要求

命名空间:Microsoft.VisualBasic.ApplicationServices

类:WindowsFormsApplicationBase

**程序集:**Visual Basic 运行库(位于 Microsoft.VisualBasic.dll 中)

不同项目类型的可用性

项目类型

是否可用

Windows 应用程序

类库

控制台应用程序

Windows 控件库

Web 控件库

Windows 服务

网站

权限

可能需要下列权限:

权限

说明

UIPermission

控制与用户界面和剪贴板相关的权限。关联的枚举:AllWindows

有关更多信息,请参见代码访问安全性请求权限

请参见

参考

My.Application 对象

System.Windows.Forms.FormCollection

WindowsFormsApplicationBase.OpenForms

Application.OpenForms