MDI Fensterinhalt sichern
-
Hallo,
hjabe mir ein kleines MDI Programm geschrieben, welches es ermöglicht mittels folgendem Code in jedem MDI Fenster was zu zeichnen:private void SubForm_MouseMove(object sender, MouseEventArgs e) { Graphics g = this.CreateGraphics(); g.FillEllipse(new SolidBrush(Color.AntiqueWhite), e.X - 1, e.Y - 1, 2, 2); g.Dispose(); }
Nun tritt aber leider folgendes Problem auf. Wenn ich zwei Fenster öffne, in beiden was zeichne und anschließend das eine Fenster über das andere schiebe und wieder zurück, dann verschwindet der Inhalt des hinteren Fensters soweit, wie ich es verdeckt habe. Wenn ich das MDI Fenster minimiere, dann verschwindet das ganze Bild im jeweiligen Fenster. Wie kann ich nun den Code ändern, dass dies nicht passiert?
-
indem Du die Paint-Methode überschreibst und Dein Zeichnen dahinein legst. Oder Du fragst das entsprechende Event ab (GetFokus oder sowas) und malst dann neu.
Hintergrund:
Wenn ein Fenster ein anderes überdeckt und dann z.B. geschlossen wird, wird das ganze Fenster neu gezeichnet (Paint-Methode). Da Du Deine Malerei aber nicht in der Paint-Methode hast musst Du eben dafür Sorge tragen, dass Deine Methode ebenfalls neu zeichnet.
Sebo