프로그램에서 다른 양식으로 전환하려고 할 때 항상 예외가 발생합니다. 어쩌면이 문제를 해결하도록 도와 줄 수 있습니다. 여기에 예외 메시지는 다음과 같습니다양식 전환 (VB.NET)
Control.Invoke 내가 양식에 아주 좋은 변수를 첨부
별도의 스레드에서 만든 컨트롤과 상호 작용하는 데 사용되어야하며, 내가 명령을 사용하려고하면이 문제가 발생합니다 MyForm.Show()와 같습니다.
양식이 변수에 첨부되지 않은 경우에는 발생하지 않지만 텍스트 상자 등을 새로 고치는 데는 심각한 문제가 있습니다.
곧 소식을 듣고 싶습니다!
편집;
나는 4 가지 형태가 있습니다.
RegularForm = Me
StartupForm = frmStartup
LoginForm = frmLogin
PasswordForm = frmPassword
SettingsForm = frmSettings
주된 형태 Public StartupForm As frmStartup
Public RegularForm As frmRegularUse
Public LoginForm As frmLogin
Public PasswordForm As frmPassword
Public SettingsForm As frmSettings
: 모듈
: I 서브 (...)의 메인 모듈의 주요 형태를로드하면 MyBase.Load 난 다음 코드를 실행하는 처리
이것은 양식 새로 고침을 완벽하게 제어하기 위해 고안 한 aproach입니다. 그것은 윈도우 CE와 모토로라 스캐너 프로그램입니다. 예를 들어, LoginForm에 정확한 비밀번호를 입력하면 RegularForm으로 전환하고 싶습니다. RegularForm.Show() 또는 RegularForm.ShowDialog 또는 RegularForm.BringToFront()를 사용하려고하면 예외가 발생합니다. frmRegularUse.Show()를 사용하여 폼을 호출하려고하면 폼을 호출 할 수 있지만 다른 스레드에서 만들어 지므로 믿을 수 없으므로 컨트롤을 느슨하게 할 수 있습니다 (키보드에서 무언가를 가져 오려고 할 때, 응답 없음).
MyForm은 양식의 클래스 이름입니까, 아니면 클래스의 인스턴스입니까? – Martin
다른 양식을 작성하고 표시하는 방법을 보여주는 코드를 게시하십시오. 그러면 문제의 원인을 파악하는 데 도움이됩니다. –