다음을 통해 공유


My.Forms 개체

현재 프로젝트에 선언된 각 Windows 양식의 인스턴스에 액세스하기 위한 속성을 제공합니다.

비고

개체는 My.Forms 현재 프로젝트에서 각 양식의 인스턴스를 제공합니다. 속성의 이름은 속성이 액세스하는 양식의 이름과 같습니다.

자격 없이 양식의 이름을 사용하여 개체에서 제공하는 My.Forms 양식에 액세스할 수 있습니다. 속성 이름은 폼의 형식 이름과 동일하기 때문에 기본 인스턴스가 있는 것처럼 폼에 액세스할 수 있습니다. 예를 들어 My.Forms.Form1.ShowForm1.Show와 같습니다.

개체는 My.Forms 현재 프로젝트와 연결된 양식만 노출합니다. 참조된 DLL에 선언된 양식에 대한 액세스 권한은 제공하지 않습니다. DLL에서 제공하는 양식에 액세스하려면 DllName으로 작성된 양식의 정규화된 이름을 사용해야 합니다. FormName.

OpenForms 속성을 사용하여 애플리케이션의 열려 있는 모든 양식의 컬렉션을 가져올 수 있습니다.

개체 및 해당 속성은 Windows 애플리케이션에만 사용할 수 있습니다.

속성

개체의 My.Forms 각 속성은 현재 프로젝트의 양식 인스턴스에 대한 액세스를 제공합니다. 속성의 이름은 속성이 액세스하는 폼의 이름과 같으며 속성 형식은 폼의 형식과 동일합니다.

비고

이름 충돌이 있는 경우 폼에 액세스할 속성 이름은 RootNamespace_Namespace_FormName입니다. 예를 들어 이러한 양식 Form1.중 하나가 루트 네임스페이스와 네Namespace1임스페이스에 WindowsApplication1 있는 경우 해당 폼에 액세스하는 두 가지 양식을 My.Forms.WindowsApplication1_Namespace1_Form1고려합니다.

이 개체는 My.Forms 시작 시 만들어진 애플리케이션의 기본 양식 인스턴스에 대한 액세스를 제공합니다. 다른 모든 양식의 경우 개체는 My.Forms 폼에 액세스할 때 폼의 새 인스턴스를 만들고 저장합니다. 이후에 해당 속성에 액세스하려고 시도하면 양식의 해당 인스턴스가 반환됩니다.

해당 양식의 속성에 할당하여 Nothing 양식을 삭제할 수 있습니다. 속성 setter는 양식의 메서드를 호출 Close 한 다음 저장된 값에 할당합니다 Nothing . 속성 이외의 Nothing 값을 할당하면 setter가 예외를 ArgumentException throw합니다.

개체의 My.Forms 속성이 또는 IsNot 연산자를 사용하여 폼의 인스턴스를 저장하는지 여부를 테스트할 Is 수 있습니다. 이러한 연산자를 사용하여 속성 값이 있는지 확인할 수 있습니다 Nothing.

비고

일반적으로 Is 또는 IsNot 연산자는 비교를 수행하려면 속성 값을 읽어야 합니다. 그러나 속성이 현재 저장하는 Nothing경우 속성은 폼의 새 인스턴스를 만든 다음 해당 인스턴스를 반환합니다. 그러나 Visual Basic 컴파일러는 개체의 My.Forms 속성을 다르게 처리하고 해당 값을 변경하지 않고도 또는 IsNot 연산자가 속성의 상태를 확인할 수 있도록 합니다Is.

예시

다음은 기본 SidebarMenu 폼의 제목을 변경하는 예제입니다.

Sub ShowSidebarMenu(ByVal newTitle As String)
    If My.Forms.SidebarMenu IsNot Nothing Then
        My.Forms.SidebarMenu.Text = newTitle
    End If
End Sub

이 예제가 작동하려면 프로젝트에 이름이 지정된 SidebarMenu양식이 있어야 합니다.

이 코드는 Windows 애플리케이션 프로젝트에서만 작동합니다.

요구 사항

프로젝트 유형별 가용성

프로젝트 형식 이용 가능
Windows 애플리케이션
클래스 라이브러리 아니오
콘솔 애플리케이션 아니오
Windows 컨트롤 라이브러리 아니오
웹 제어 라이브러리 아니오
Windows 서비스 아니오
웹 사이트 아니오

참고하십시오