У меня возникла проблема при попытке предотвратить исключение ObjectDisposedException после закрытия одной из форм с помощью кнопки Windows закрытия.
У меня есть метод, который отвечает за открытие форм, и он работает пока я не пытаюсь открыть "удаленную" форму, поэтому я попытался использовать блок try-catch для ее обработки, хотя не могу понять, как отображать форму впоследствии.
public void FormCheck (Form form)
{
bool isOpen = false;
FormCollection fc = Application.OpenForms;
foreach (Form frm in fc)
{
if (frm.Name == form.Name)
{
form.Focus();
isOpen = true;
break;
}
}
if (isOpen == false)
{
try
{
form.Show();
}
catch(ObjectDisposedException)
{
Type formType = form.GetType();
object instance = Activator.CreateInstance(formType);
form.Show();
}
}
}