Как предотвратить закрытие и удаление 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.

Как вы решаете это?

Заранее спасибо,

Ответы на вопрос(1)

Ваш ответ на вопрос