Как предотвратить закрытие и удаление winform в событии FormClosing?
Этот вопрос может показаться дубликатом, но я только столкнулся с этой проблемой, пока тестировал свою программу, и меня немного смущает то, как вы ее решаете.
У меня есть winform, и у него есть событие закрытия формы. В этом случае я открываю окно сообщения с вопросом: «Вы уверены, что хотите закрыть окно?». Если они нажали кнопку «Да», приложение закроет окно и предотвратит его удаление в соответствии с ожиданиями. Итак, я могу открыть его снова. Однако, если они не нажали ни одной кнопки, он все равно закрывает окно, но теперь окно удаляется. Поэтому, когда я пытаюсь открыть его снова, возникает исключение: «Не удается получить доступ к удаленному объекту». Когда никакая кнопка не нажата, я хочу, чтобы winform оставалась открытой и не удалялась.
Вот мой код:
method PPMain.PPMain_FormClosing(sender: System.Object; e: System.Windows.Forms.FormClosingEventArgs);
begin
if MessageBox.Show('Are you sure you want to close the window?','PPMain',MessageBoxButtons.YesNo) = DialogResult.Yes then
begin
e.Cancel := true;
Hide;
end
else
e.Cancel := false;
end;
Я подумал, так как вы должны установить e.Cancel = true, чтобы закрыть окно и сказать, чтобы оно скрывалось, делая противоположное (e.Cancel = false и не скрывать) предотвратит закрытие и удаление winform.
Как вы решаете это?
Заранее спасибо,