Archief - [PROG][C#] Dispose()

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

SMa

Legacy Member
Ik zou graag een applicatie (Form) kunnen stoppen tijdens het afsluiten.

Nu doe ik het volgende:
protected override void Dispose(bool disposing)
{
if (AskForSave()) return;
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
Waarbij AskForSave() false returned wanneer de gebruiker voor annuleren kiest.

Maar bovenstaande methode werkt enkel wanneer de gebruiker op het kruisje klikt.
Wanneer er Bestand -> Afsluiten [Alt F4] gekozen wordt, wordt AskForSave() 3x uitgevoerd en sluit hij uiteindelijk af. Bij Bestand -> Afsluiten gebruik ik Application.Exit().
Als ik dit debug blijkt dat eerst Application.Exit() uitgevoerd wordt, en dat pas (na het beëindigen van de methode) Dispose(bool) aan de beurt is.

Weet iemand hoe ik dit beter kan implementeren?



Ik zit met hetzelfde probleem bij een ander form.
Die form dient als een Dialog [frmObject.ShowDialog()], en wanneer er foute waarden gegeven wordt mag die niet afgesloten worden met de AcceptButton (DialogResult.OK). Ik heb er geen idee van hoe ik dit afsluiten kan tegenhouden.



Ik hoop dat mijn vragen duidelijk zijn ;)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan