... и не имеет смысла почему. T-T
В моем обработчике событий Application_Startup
у меня есть код, который выглядит примерно так:
private void Application_Startup(object sender, StartupEventArgs e)
{
string errorMessage;
if(CheckStartUpConditions(out errorMessage))
{
(new MainWindow()).Show();
}
else
{
MessageBox.Show(errorMessage, "Application Startup",
MessageBoxButton.OK, MessageBoxImage.Error);
Shutdown();
}
}
private bool CheckStartUpConditions(out string errorMessage)
{
errorMessage = string.Empty;
if(...)
errorMessage += "Please login to xxx. ";
if(...)
errorMessage += "Please install xxx.";
if(string.IsNullOrEmpty(errorMessage))
return true;
else
return false;
}
Окно сообщения ненадолго появляется примерно на секунду перед тем, как произнести «POOF!». Я не дожидаюсь, пока я нажму «ОК» или кнопку «Х». Я действительно озадачен, почему это происходит, поэтому любая помощь будет очень признательна .
Я пробовал закомментировать вызов Shutdown
только для шуток и хихиканья, но он по-прежнему ведет себя так же.
Кроме того, в приложении есть SplashScreen
, поэтому я не знаю, влияет ли это на это.
РЕДАКТИРОВАТЬ: Я добавил больше кода, если это поможет. В окне сообщения отображается правильное сообщение об ошибке. Просто не останется достаточно долго, чтобы пользователи ее прочитали. >: (
ИЗМЕНИТЬ ЧАСТЬ 2: Хорошо ... Думаю, я нашел виновника. :( Я изменил действие сборки на изображении, которое использую в качестве заставки, с SplashScreen на None, и теперь появится окно сообщения оставайтесь и ждите ввода данных пользователем. Я не понимаю, почему SplashScreen не работает с MessageBox.>: (