У меня проблемы с закрытием приложения формы C # windows. В настоящее время он просто даст мне пустую форму без заголовка или чего-либо еще. Мне нужно найти способ закрыть это маленькое неизвестное окно.
У меня есть 2 страницы формы, одна для экрана входа в систему и одна для реального приложения. Все они запускаются файлом program.cs.
Program.cs
...
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new PROG1());
}
Это просто базовая основа, созданная Visual Studio для запуска моей программы.
Тогда у нас есть основная программа
PROG1.cs
...
public PROG1()
{
Login LoginForm = new Login();
DialogResult a = LoginForm.ShowDialog();
if(LoginForm.ValidLogin == 1) {
InitializeComponent();
} else {
Application.Exit(); //FAIL
}
}
Вы можете видеть, что первый файл program.cs вызывает PROG1.cs, который вызывает экземпляр login.cs. Если вы введете действительный логин, страница входа закроется, и основной PROG1 отобразится так, как должно. Однако, если вы просто нажмете красную букву X, чтобы закрыть форму входа, это произойдет с Prog1 и LoginForm.ValidLogin! = 1, поэтому он не инициализирует форму и попытается закрыть форму. Это просто оставит мне неинициализированную форму вместо того, чтобы закрывать ее. Если я вместо этого сделаю this.close (), это вызовет ошибку времени выполнения.
Есть идеи?