Zitat von
Apollonius:
Zitat von
Sidorion:
OnShow ist genau der falsche Ort dafür, da diese Methode jedesmal gerufen wird, wenn das Formular sichtbar wird.
Also musst du nur dein Fenster minimieren und wieder hervorholen und du hast einen zweiten Rendering Context und wahrscheinlich ein Speicherleck.
Das stimmt aber nicht. OnShow wird immer dann aufgerufen wenn das Fenster sichtbar wird (Show / ShowModal). Ja das Stimmt. Aber wenn es minimiert wird dann ist es minimiert. Das Fenster ist trotzdem noch sichtbar.
Ich benutze bei mir eigentlich ausschließlich OnShow und OnClose und hatte damit bisher noch nie Probleme. OnHide wird nämlich nicht aufgerufen, wenn das Fenster geschlossen wird. Klar wenn dann noch einmal OnShow aufgerufen wird dann muss man das entweder per Flag abfangen oder man hat einen zusätzlichen Kontext. Aber .Hide steht normal nur im Code weswegen man darüber eigentlich eine ganz gute Kontrolle haben sollte. Und wenn das Fenster geschlossen wird dann wird OnClose aufgerufen.