Verstehe nicht was du damit sagen möchtest?
Ist es
OS-abhängig, ob dein Ansatz funktioniert oder nicht?
Edit spät in der Nacht
einen Nachteil habe ich wohl gefunden. Wenn man ein Programm mit diesem Mechanismus ins Systemtray minimiert und zurückholt, wird DoAfterShow trotzdem wieder ausgeführt.
Um eine Zwischenvariable kommt man also in beiden Fällen nicht drumherum. Außer man minimiert das Programm niemals in den Systemtray.