Я получаю эту ошибку:
Запуск второго цикла сообщений в одном потоке не является допустимой операцией. Вместо этого используйте Form.ShowDialog.
При попытке выйти из приложения после удаления формы входа. Чтобы уточнить, это то, что я делаю в своей форме:
public frmMainMDI()
{
InitializeComponent();
frmLogin frmLogin_ = new frmLogin(); //create new login form
frmLogin_.ShowDialog(); //show i
if (frmLogin_.DialogResult == DialogResult.Cancel) //if user pressed cancel
{
frmLogin_.Dispose(); //dispose login form
Application.Exit(); //Exit application. If I used this line, it throws the error stated above in Program.cs
//this.Dispose(); //If I try to use this one instead, it throws an 'already disposed' error
//this.Close(); //same error as .dispose
}
else
{
intCurrentLoggedInStaffID = frmLogin_.intStaffID;
}
}
И это в моей программе.cs:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new frmMainMDI()); //this is the line that bugs out
}
Я не совсем понял. Похоже, что приложение пытается перезапустить себя, когда я пытаюсь .Exit
его. Я скучаю по чему-то довольно фундаментальному здесь? (Я предполагаю, что ответ «да»)