¿Cómo evitar el cierre y la eliminación de un formulario de ganancias en el evento FormClosing?

Esta pregunta puede parecer un duplicado, pero me topé con este problema mientras estaba probando mi programa y estoy un poco confundido en cuanto a cómo lo resuelves.

Tengo una forma de ganar y tiene un evento de cierre de formulario. En el evento, abro un mensaje que le pregunta al usuario: "¿Está seguro de que desea cerrar la ventana?" Si presionaron el botón Sí, la aplicación cierra la ventana e impide que se elimine como se esperaba. Entonces, puedo abrirlo de nuevo. Sin embargo, si no presionaron ningún botón, todavía cierra la ventana, pero ahora la ventana está eliminada. Entonces, cuando intento abrirlo de nuevo, se generó una excepción: "No se puede acceder a un objeto eliminado". Cuando no se presiona el botón No, quiero que el formulario de ganancias permanezca abierto y no desechado.

Aquí está mi código:

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;

Pensé que ya que tienes que configurar e.Cancel = true para cerrar la ventana y decirle que se oculte, haciendo lo contrario (e.Cancel = false y no hide) evitará que se cierre y se elimine el winform.

¿Cómo resuelves esto?

Gracias de antemano,

Respuestas a la pregunta(1)

Su respuesta a la pregunta