public Form1()
{
InitializeComponent();
Update_current_data();
}
private void Update_current_data()
{
try
{
//...
//...
//...
}
catch
{
switch(MessageBox.Show("You are not connected to a WiFi or your IP address is invalid. The data processes IS UTTER CRAP.",
"Connection Error", MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1))
{
case DialogResult.Abort:
this.Close();
Application.Exit();
break;
case DialogResult.Ignore:
break;
case DialogResult.Retry:Update_current_data();
break;
}
}
}
Хорошо, поэтому Update_current_data();
вызывается еще до загрузки формы, и я проверяю, подключен ли пользователь к Интернету или нет только в это время.Теперь, если пользователь не подключен, генерируется исключение, и отображается MessageBox, запрашивающий у пользователя Abort
, ignore
или Retry
.(Форма еще не загружена)
Теперь вот проблема.Если пользователь нажимает abort
, я хочу, чтобы форма никогда не загружалась и приложение полностью закрывалось.Но я не могу использовать this.Close();
, поскольку исключение снова возникает в Program.cs
, говоря:
'Невозможно получить доступ к удаленному объекту.Имя объекта: 'Form1'. '
и Application.Exit();
не влияют на него, так как форма открывается независимо.
Так как я могу предотвратить отображение формы здесь?сам.Также я не хочу обрабатывать исключение, выданное this.Close();
в `Program.cs.