У меня есть приложение на C #, которое сталкивается с проблемами, когда речь идет о многопоточности / фоновых рабочих, когда я использую заставку перед загрузкой главного окна.
мой код выглядит примерно так:
[STAThread]
private static void Main()
{
.. do some stuff
ShowSplash(); // where i show a splash screen and load some stuff
...
В качестве последнего шага ShowSplash
я делаю следующее:
new MyCabApplication<MyMainWorkItem, MDIParentForm>().Run(); -- where i load the form through cab.
Проблема в том, что когда я делаю это, я получаю следующее исключение:
Запуск второго цикла сообщений в одном потоке не является допустимой операцией.Вместо этого используйте Form.ShowDialog
Есть идеи, что я могу сделать?
Вот моя функция showplash:
private static DialogResult ShowSplash(AutoResetEvent controller)
{
// create and register splash screen
splashScreen = new PointSplashScreen();
Application.Run(splashScreen);
return DialogResult.OK;
}