Форма WinForms, открытая через Show, после закрытия уничтожается

// создали форму
Form f = new Form();

// на клик по кнопку отобразили её
f.Show();
// потом кликнули ещё раз, и "доступ к ликвидированному объекту невозможен".

Я знаю, это особенность реализации, но мне она чрезвычайно не нравится. Подскажите, можно ли каким-то способом (пусть даже через рефлексию) запретить высвобождение ресурсов при закрытии формы? (ShowDialog не подходит)


Ответы (1 шт):

Автор решения: Aziz Umarov

Напишите обработчик для Form.Closing Event

System.ComponentModel.CancelEventArgs e


// Отменяет закрытие формы
e.Cancel = true;

и можете спокойно сделать

 ((Control)sender).Hide();

прочитать можно тут

→ Ссылка