我有下面的代碼,關閉一個loginform
並打開mainform
Form.Show VS Form.ShowDialog錯扣
Sub Loadform(ByVal formName As Form)
Dim Thisform As Form = DirectCast(formName, frmLogIn1)
Thisform.Hide()
Dim frm As New frmMain
frm.ShowDialog() <- Problem
Thisform.Close()
End Sub
的MainForm中有哪些負載一個的DevExpress SplashScreenManager和自動卸載啓動畫面。
當我撥打frm.Show
時,SplashScreen關閉時出現交叉線程異常。
如果我用frm.ShowDialog
調用它,它的工作正常。這個新的代碼。該應用程序大約12個月大,這個代碼在一開始就添加了,但是現在我遇到了問題。
原代碼(從備份中獲取)是:
Me.Hide()
Dim main As New frmMain
main.Show()
Me.Dispose()
但是,這似乎是現在的封閉的MainForm。
任何想法?
基於舊的備份代碼。這可能發生在關機模式設置中,該設置可以在解決方案的屬性設置的「應用程序」選項卡中找到。確保它沒有設置爲當啓動窗體關閉時,因爲這會導致此行爲。 –
關閉模式是:當最後一個窗體關閉時。此外,這不應該影響線程交叉調用? – Kanky
恐怕這個問題的描述在這個特例中無助於理解它。可能有用的是在Visual Studio中獲得的完整異常調用堆棧(不是來自Exception對象)。更好 - 所有主題的調用堆棧。你可以在這個問題上添加這些信息嗎? – Uranus