Я пытаюсь закрыть приложение сразу, если пользователь выбирает папку, которая не содержит файл, который я ищу. Мой код достигает Application.Exit(), но после того, как он запускает строку, приложение продолжает работать и достигает кода, который вызывает его сбой.C# как закрыть приложение немедленно .NET Framework
public Form1()
{
InitializeComponent();
FolderBrowserDialog dlg = new FolderBrowserDialog();
if (DialogResult.OK == dlg.ShowDialog())
{
particleFolder = dlg.SelectedPath + "\\";
if(!(File.Exists(particleFolder + "particle.png")))
{
Application.Exit();
return;
}
}
....
Вы должны перенести это из конструктора в 'Main()', чтобы вы могли просто 'return;'. – SLaks
Связанный: https://stackoverflow.com/questions/13046019/winforms-application-exit-vs-enviroment-exit-vs-form-close –
Вы не можете использовать Application.Exit(), когда он еще не начался, ваша программа Файл .cs содержит Application.Run(), и это произойдет дальше. Это не единственная проблема, диалог требует владельца, и у него его еще нет. Значительно увеличивая вероятность того, что ваше главное окно исчезнет за окном другого приложения. В лучшем случае этот код может появиться в обработчике событий Shown, команда File + Open является, конечно, шаблоном. –