Entwickler-Ecke

Multimedia / Grafik - OnPaint Event zeichnet nicht


NewNoise - Mo 18.05.09 16:50
Titel: OnPaint Event zeichnet nicht
Hallo,

ich habe folgenden Code geschrieben, um bei Aufruf des OnPaint-Events der pictureBox1 in selbige zu zeichnen.


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
    partial class pictureBox1 : PictureBox
    {
        protected override void OnPaint(PaintEventArgs e)
        {
            //-----------------------------------------------------------------------
            // Es ist wichtig, dass wir (zuerst) die Oberklasse machen lassen.
            //-----------------------------------------------------------------------
            base.OnPaint(e);

            // Create pen.
            Pen blackPen = new Pen(Color.Black, 50);

            // Create rectangle.
            Rectangle rect = new Rectangle(00300300);

            // Draw rectangle to screen.
            e.Graphics.DrawRectangle(blackPen, rect);

        }
    }

Leider erfolgt keinerlei Ausgabe.
Was mache ich falsch?

Danke
noise


psirus - Mo 18.05.09 17:15

Hi,

als erstes würde ich mal in die Methode eine MessageBox oder Konsolenausgabe einbauen. Dann siehst du ob dein OnPaint überhaupt aufgerufen/ausgeführt wird. Das Grenzt dann die Fehlersuche schon mal ein.

Hast du die OnPaint Methode per hand erstellt (So wie sie ist komplett selbst in den Quelltext geschrieben) oder ist der Grundkörper vom VS erstellt worden? Wenn du die komplette Methode selbst getippt hat, überprüfe mal ob die Methode auch im OnPaint Event deiner PictureBox eingetragen ist.

MFG


Kha - Mo 18.05.09 19:45

@user profile iconpsirus: Schau dir seinen Code nochmal an - das ist kein Event-Handler. Btw: :welcome:

@user profile iconNewNoise: Da fällt mir nur ein: Benutzt du dann auf dem Formular überhaupt deine Klasse statt einer normalen PictureBox?


NewNoise - Di 19.05.09 08:55

Manchmal kann das Leben so einfach sein.
Danke Kha!