Остановите приложение System.Windows.SplashScreen с WinForms для закрытия приложения - PullRequest
1 голос
/ 05 ноября 2008

Я использую System.Windows.SplashScreen для добавления заставки в мое приложение WinForms (в нем много элементов управления WPF, но «главное окно» по-прежнему является объектом System.Windows.Forms.Form). Когда закрывается заставка, все приложение также отключается.

Могу ли я остановить его, взяв с собой все приложение?

Ответы [ 2 ]

1 голос
/ 12 ноября 2008

Да, важно сделать вызов Application.Run. Этот вызов передает управление вашей программой в любую основную форму, которую вы укажете. Программа будет продолжать работать до тех пор, пока эта форма не будет закрыта. Если вы не сделаете этот вызов, то функция Main () сохранит управление, и приложение выйдет при выходе из Main (). Это делается за кулисами в среде IDE VB.NET, хотя ее можно переопределить в окне настроек приложения на вкладке «Приложение», где можно указать форму запуска. В C # этот код обычно добавляется шаблоном кода, если вы указываете проект Windows Form, но вы не увидите его, если откроете пустой проект. Надеюсь, это поможет.

0 голосов
/ 05 ноября 2008

Я был слишком быстр с этим вопросом - похоже, проблема здесь была в том, как я начинал приложение. Если вы делаете:

form.ShowDialog();

Тогда родитель формы устанавливается на заставку, поэтому, когда он закрывается, он также закрывает дочернее окно (в данном случае «форма»), но если вы используете:

System.Windows.Forms.Application.Run(form)

, чтобы запустить приложение, тогда «форма» не является дочерней по отношению к заставке, поэтому не закрывается с заставкой.

...