Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C++CLI / VB .Net / .Net-Framework » PictureBox wird nicht aktualisiert

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
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)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
16.10.2008, 14:43 Uhr
Lensflare



ich habe jetzt eine eigene Subklasse von PictureBox erstellt und die OnPaint Methode überschrieben.


C++:
    class PictureBoxSheet : PictureBox
    {
        protected override void OnPaint(PaintEventArgs e)
        {
              //...
        }
    }



Jetzt wird die Fläche zwar richtig aktualisiert aber der GUI-Designer bringt immer wieder Fehlermeldungen, weil er mit der Subklasse anscheinend nicht zurecht kommt.
--
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)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C++CLI / VB .Net / .Net-Framework ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: