VB.NET 2008/VB - 리소스 액세스

응용 프로그램 액세스 - 응용 프로그램 폼 액세스

본클라쓰 2011. 6. 18. 11:00

 

My.Forms 개체를 사용하면 응용 프로그램의 프로젝트에 선언된 각 Windows Form의 인스턴스에 쉽게 액세스할 수 있다. 또한, My.Application 개체의 속성을 사용하여 응용 프로그램의 시작 화면과 기본 폼에 액세스하고 응용 프로그램의 열려 있는 폼 목록을 가져올 수 있다.

 

 

Windows 기본 폼의 이름이 Form1일 때, Form2라는 다른 폼이 추가되었다면 Form1에서 Form2에 통신할 때 다음과 같이 처리할 수 있다.

 

My.Forms.Form2.Text = Now.ToString

My.Forms.Form2.Show()

 

 

또한 응용 프로그램에서 열려 있는 모든 폼에 액세스 하기 위해서는 My.Application.OpenForms 속성을 사용하여 응용 프로그램에서 열려 있는 모든 폼의 제목을 표시한다.

 

My.Application.OpenForms 속성은 폼을 연 스레드와 관계없이 현재 열려 있는 모든 폼을 반환한다. 이것은 액세스하기 전에 각 폼의 InvokrRequired 속성을 확인해야 함을 의미한다. 그렇지 않으면 InvalidOperationException 예외가 throw될 수 있다.

 

Private Sub GetOpenFormTitles()

 

    Dim formTitles As New Collection

 

    Try

 

        For Each f As Form In My.Application.OpenForms

            If Not f.InvokeRequired Then

                ' 폼의 정보를 가져옴

            End If

        Next

 

    Catch ex As Exception

        MsgBox("Error: " & ex.Message)

    End Try

 

End Sub