다음을 통해 공유


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 예외가 throw될 수 있습니다. 자세한 내용은 방법: 응용 프로그램의 모든 열려 있는 폼에 액세스를 참조하십시오.

작업

다음 표에서는 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 Forms 응용 프로그램에 이름이 ListBox1인 목록 상자를 포함하는 Form1이라는 폼이 있어야 합니다.

요구 사항

네임스페이스:Microsoft.VisualBasic.ApplicationServices

클래스:WindowsFormsApplicationBase

어셈블리: Visual Basic 런타임 라이브러리(Microsoft.VisualBasic.dll)

프로젝트 형식별 사용 가능 여부

프로젝트 형식

사용 가능 여부

Windows 응용 프로그램

클래스 라이브러리

아니요

콘솔 응용 프로그램

아니요

Windows 컨트롤 라이브러리

아니요

웹 컨트롤 라이브러리

아니요

Windows 서비스

아니요

웹 사이트

아니요

권한

다음과 같은 사용 권한이 필요합니다.

권한

설명

UIPermission

사용자 인터페이스 및 클립보드와 관련된 권한을 제어합니다. 연관된 열거형: AllWindows

자세한 내용은 코드 액세스 보안권한 요청을 참조하십시오.

참고 항목

참조

My.Application 개체

System.Windows.Forms.FormCollection

WindowsFormsApplicationBase.OpenForms

Application.OpenForms