000
15.10.2008, 19:35 Uhr
Lensflare
|
Hallo
ich habe eine PictureBox auf die ich etwas zeichne. Den Code zum neu Zeichnen habe ich in eine Methode namens Redraw gepackt.
Die Zeichnung auf der PictureBox soll automatisch neu gezeichnet werden, so wie das Fenster die Buttons und Labels automatisch neu zeichnet.
Das Problem ist nun folgendes: Wenn die PictureBox kurzzeitig von etwas überdeckt wird wie zum Beispiel ein anderes Fenster oder ein DropDownMenü im selben Fenster, dann bleibt die Stelle in der PictureBox leer. Um die PictureBox neu zu zeichnen, müsste ich auf Events hören, die mir mitteilen dass die PictueBox neu gezeichnet werden muss.
Meine Lösungsversuche:
Per Doppelklick auf das Paint Event der PictureBox eine Methode erzeugt und meine Redraw Methode dort aufgerufen.
C++: |
private void pictureBox1_Paint(object sender, PaintEventArgs e) { this.Redraw(); }
|
Dies für folgende Events probiert: - Paint - Validated - Layout
Dann für die Events des Fensters (nicht der PictureBox) - Activated - Enter - Paint
Dann im Internet folgendes gefunden und ausprobiert:
C++: |
public void RedrawCallback(Object Sender, PaintEventArgs e) { Redraw(); }
//beim Aufbauen des Fensters: pictureBox1.Paint += new PaintEventHandler(RedrawCallback);
|
Nichts davon hat funktioniert.
Kann mir jemand einen Tip geben? Danke. -- Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten. (Emerson Pugh Trost) |