아마도 이것이 이것에 대한 다른 질문의 중복이라고 생각할 것입니다. 하지만 그렇지 않습니다
나는 이것에 대해 몇 가지 다른 질문을 보았지만 그들 중 누구도 이것에 대답하지 않습니다.
SUB를 사용하여 양식을 여러 번 열고 싶습니다. 를 전달 Form
하면이 양식의 새 인스턴스가 생성됩니다. 그러나 Form
두 번 실행하면 폐기되는 문제가 계속 발생 합니다.
작동하지 않는 서브입니다.
Public Shared Sub OpenProgram(ByRef formToOpen As Form)
Dim newApp As Form
newApp = formToOpen
Try
newApp.Show()
newApp.BringToFront()
Catch ex As Exception
MsgBox("Unable to open program :(")
End Try
End Sub
나는 또한 시도하지 않은 Dim newApp As New Form
및 Dim newApp As New formToOpen
이러한 작업을하지만 아무도
서브를 실행하고 양식을 닫은 다음 서브를 다시 실행하면 문제가 발생합니다.
내가 얻는 오류는 다음과 같습니다.
삭제 된 개체에 액세스 할 수 없습니다.
개체 이름 : 'shop'
shop
단지 형태
미리 감사드립니다
옵션 1, 제네릭 포함 :
Public Function OpenProgram(Of F As {Form, New})(ByVal ThisOne As F) As F
Return New F()
End Function
제네릭이없는 옵션 2 :
Public Function OpenProgram(ByVal ThisOne As Form) As Form
Return CType(Activator.CreateInstance(ThisOne.GetType()), Form)
End Function
용법:
Dim newApp As Form = OpenProgram(shop)
newApp.Show
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다