protected override void OnFormClosing(FormClosingEventArgs e) { base.OnFormClosing(e); if (e.CloseReason == CloseReason.WindowsShutDown) { return; } if (e.CloseReason == CloseReason.ApplicationExitCall) { return; } if (_inProgress) { if (MessageBox.Show(this, "Are you sure you want to stop decrypting?", "Closing", MessageBoxButtons.YesNo) == DialogResult.Yes) { backgroundDecrypt.CancelAsync(); try { FileAES_Utilities.PurgeInstancedTempFolders(); } catch (Exception) { MessageBox.Show("This action is currently unsupported!", "Error"); e.Cancel = true; } } else { e.Cancel = true; } } update.Dispose(); }