Symbol MC50에서 Compact Framework 3.5를 사용하고 있습니다.Sub Main 외부에서 호출 할 때 Application.Run (New myForm())이 작동하지 않습니다.
내 Sub Main에서는 먼저 데이터베이스가 있는지 확인합니다. 내가 frmMain 수 닫을 때 예상대로 응용 프로그램을 종료,이 모두가 제대로 작동
Dim login As frmLogin = New frmLogin()
If login.ShowDialog() = DialogResult.OK Then
Application.Run(New frmMain())
End If
과 : 그것은 않을 경우, 다음과 같은 코드를 사용하여 로그인 화면을 보여줍니다.
그러나 Sub Main에서 데이터베이스 검사가 실패하면 라이브 서버에서 데이터베이스를 만들고 채우는 데 사용되는 다른 형식의 ShowDialog() 메서드를 호출합니다. 다음은이 양식을 호출하는 코드는 다음과 같습니다
If Not File.Exists(SETTINGS_LOCALDB) Then
databaseExists = False
MessageBox.Show("Local DB does not exist. The database must be created before using the application.")
Dim update As frmUpdateData = New frmUpdateData()
update.ShowDialog()
Else
.....
End If
내가 frmUpdateData가 실행되지 않은 하위 홈페이지의 코드의 나머지 부분을 닫을 때, 따라서 Application.Run 명중되고 있지 않았던 것입니다했다 첫 번째 문제.
If SystemUserSecurityId() = Nothing Then
Dim login As frmLogin = New frmLogin()
If login.ShowDialog() = DialogResult.OK Then
DebugTrace("Init - login complete, starting application.")
Application.Run(New frmMain())
End If
End If
Me.Hide()
이 코드의 모든 명중되고 있으며 frmMain 수 실제로 부하를 수행합니다
그래서 frmUpdateData에 닫기 버튼의 클릭 이벤트에 다음 코드를 추가했습니다. 그러나 오른쪽 상단의 닫기 버튼을 클릭해도 아무 일도 발생하지 않고 이벤트가 발생하지 않습니다. 마치 Windows 이벤트가 발생하지 않는 것입니다.내가 잘못 했습니까?
이것이 도움이 될지 모르겠지만 사용하려고합니다. Application.Run은 ShowDialog를 호출하는 대신 frmLogin 및 frmUpdateData 양식을 표시합니다. 응용 프로그램 메시지 루프에 있지 않을 때 .NET이 대화 상자 및 메시지 상자를 표시하는 데 얼마나 친절하게 사용되는지 알 수 없습니다. –