Ich habe einen Prozess in einer sekundären Form, die 25 Sekunden dauern kann und möchte verhindern, dass der Benutzer das Fenster schließen, ohne auf die Schaltfläche "Prozess abbrechen" zu klicken.Capture rot-X klicken
Wenn sie auf das rote X in der oberen rechten Ecke des Bildschirms klicken, passiert nichts, bis der Prozess abgeschlossen ist und dann schließt es.
Ich habe versucht, einen Booleschen Wert zu setzen, bis der Prozess abgeschlossen oder abgebrochen ist, aber es wartet immer noch, bis der Prozess abgeschlossen ist und schließt.
Wie kann ich den rot-X-Klick einfangen und dem Benutzer sagen, dass er warten oder abbrechen soll?
Verwenden Sie den Leerlauf-Handler anstelle eines Massenprozesses. –
Größeres Problem ist, dass Sie einen Haupt-Thread haben. Ich würde das zuerst beheben. Dann lassen Sie das Formular keine Schließen-Schaltfläche haben. –
Sie können einen Handler für OnCloseQuery festlegen, bis Sie die Verarbeitung in einen Thread verschieben. Der Handler wird weiterhin ausgeführt, nachdem der Prozess abgeschlossen wurde. –