Zitat von
jaenicke:
So ist das auch nicht gedacht. OnActivate wird ausgelöst, wenn das Fenster angeklickt wird, also den Fokus bekommt (jedesmal, wenn das passiert!). Und wozu soll es da direkt geschlossen werden?
Das hört sich nach einem ziemlich ungünstigen Konzept an.
Was hast du denn vor?
Soll auf dem Formular ein Fortschritt angezeigt und dieses dann geschlossen werden? Dann steuere das Formular von außen, also sowohl die Anzeige als auch die Aktualisierung auf dem Formular. Oder löse die Aktionen explizit aus. Sowas in OnActivate zu schreiben ist aua...
Das besagte Formular wird an 2 Stellen benutzt, und bei der 2. Stelle wird es nicht automatisch geschlossen. Der Anwender kann hier mittels Schließen-Schalter selbst das Formular schließen. Das funktioniert auch soweit ganz gut.
Für den 1. Aufruf allerdings soll das Formular nach der Abarbeitung der Tests selbst geschlossen werden. Dazu deaktiviere ich die Schalter im unteren Formularbereich und versuche den bereits genannten Schließen-Mechanismus. Bisher ohne Erfolg.
Die Verwendung der OnActivate-Eigenschaft kommt daher, weil das Formular nach der Darstellung auf dem Hauptformular verschiedene Tätigkeiten durchführt, deren Status in einer Listbox angezeigt werden. In OnCreate würde das Formular noch nicht sichtbar sein, deswegen die Verwendung von OnActivate.