Zeichnen auf Panel wird nicht angezeigt


Meldur

Erfahrenes Mitglied
Hallo - die letzte Stunde hätte ich mir echt schenken können! Das kann doch nicht so schwer sein, einen einfachen Strich in eine Form bzw. Panel zu zeichnen - inzwischen besteht meine Form wirklich nur noch aus dem Standartprojekt und folgenden Zeilen:
Code:
publicForm1()
 
{
 
InitializeComponent();
 
Graphics g = this.CreateGraphics();
 
Pen myPen = newPen(Color.Red);
 
myPen.Width = 10;
 
g.DrawLine(myPen, 1, 1, 500, 500); 
 
}
(this ist in diesem Fall die Klasse Form1 : Form)

...dennoch wird außer der leeren Form nichts angezeigt. Was habe ich also Grundlegendes vergessen?

thx!
 

chironex

Erfahrenes Mitglied
Hm, ich denke, das Paint-Event wird erst nach dem Konstruktor gefeuert. Im Paint Event werden alle Steuerelemente neu gezeichnet, auch der Hintergrund des Fensters. Damit ist Deine Linie wieder weg.

Zum Testen kannst Du Probieren, Einen Button auf die Fensterfläche zu ziehen, und im Buttonclick-Ereignis die Linie zu zeichnen. Dann sollte es wirklich funktionieren.

Nicht vergessen: Die Linie ist bei jedem Paint-Event wieder weg. Wenn Du willst, dass sie bleibt, dann musst Du sie in diesem Event zeichnen. Und keine Steuerelemente drüberlegen ;-)