Ellipse bei start zeichnen

Jacizzle hat gesagt.:
Auch nen Anwendungsentwickler oder wad? :-D Dann danke ich dir ja schonmal das du dir Zeit nimmst...

Meine Ellipse zeichnet der aber immernoch nicht :o( Ich glaube das liegt an dem Beispielcode von der Ellipse die ich zeichnen will.
Den Code hab ich aus der VB.Net hilfe kopiert, eig. nur zum Test ob das funktioniert.Wenn ich den Code in nen Button Klick Event hinterlege und ich den button drücke zeichnet der mir auch den Kreis, aber nicht beim Start des Formulars. Könntest du mir evt. erklären warum das so ist?
Man man man, ist doch garnichtmal so einfach wenn man schon ewig kein C mehr programmiert hat und die ganze Zeit VB gemacht hat wieder umzusteigen auf C# :-P

Code:
layoutCalled = true;        
System.Drawing.SolidBrush myBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Red);
System.Drawing.Graphics formGraphics = this.CreateGraphics();
formGraphics.FillEllipse(myBrush, new Rectangle(0,0,200,300));
myBrush.Dispose();
formGraphics.Dispose();

Wer sagt denn das ich mir dafür Zeit nehme dir zu helfen ? Eigendlich war mein Primärziel Cosmo zu ärgern *gg* Ne, jetzt mal zu deinem Problem.

Sehe ich das Richtig das du in ein Form eine Ellipse Zeichen willst ?
Wenn ja, dann mach das doch mit GDI+... Du nimmst dir ein Panel im VS, gehtst auf das Ereignis "Paint..." und schreibst in die Methode

"e.Graphics.FillEllipse(Brushes.Red, new Rectangle(0, 0, 200, 300));"

Und schon Zeichnet er die eine Ellipse in das Panel ;)

Und das mit dem "nur einmal Zeichnen usw... Das kannst du ja dort genauso einbauen.

Bei fragen, schreib ne PN oder Poste ;)

Gruss

MFC OpenGL

PS : Cosmo hats mehr drauf als ich... weitaus mehr... aber der ist Heute neben der Spur *ggg*
 
Zuletzt bearbeitet:
So ich hab das jetzt mal getestet. Du hast Recht. Ich hab das mal gehackt...
C#:
bool layoutCalled = false;
delegate void drawEllipseDelegate();

private void frmMain_Layout(object sender, LayoutEventArgs e) {

	if ( !layoutCalled ){
		layoutCalled = true; 
		this.BeginInvoke( new drawEllipseDelegate( drawEllipse ) );
	}
}

void drawEllipse() {
	using ( SolidBrush myBrush = new SolidBrush( Color.Red ) ){
		Graphics formGraphics = this.CreateGraphics();
		formGraphics.FillEllipse(myBrush, new Rectangle(0,0,200,300));
		formGraphics.Dispose();
	}
}
@Darki: WTF machst Du da? Was hat das in dem Form.Paint-Event verloren? *brüll*
Es soll nur einmal gezeichnet werden. Nur wenn er das Form komplett selber zeichenen will,
muss dort malen.
 
Sagte doch man kann das wieder über ein Flag regeln das es nur einmal gezeichnet wird...

"Nur wenn er das Form komplett selber zeichenen will,
muss dort malen."

Und wer sagt das er das nicht will ? Immerhin soll das ja scheinbar nur ein Startlogo sein... und ne Ellipse selbst zeichen deutet doch schon darauf hin das er das selbst basteln will.

und nochwas.... BRÜLL HIER NICHT SO RUM, WIR SIND HIER NICHT ZUHAUSE ;)

lg

Darki / MFC OpenGL <---- Dat is der selbe Typ *g*
 
@Darki:
MFC openGL hat gesagt.:
Komm du mir nicht mit "Overhead"... und du machst noch ne Funktion um die Funktion rum... LÖÖÖÖÖL
...weils notwendig ist.
Da guxt Du:
Jacizzle hat gesagt.:
Wenn ich den Code in nen Button Klick Event hinterlege und ich den button drücke zeichnet der mir auch den Kreis, aber nicht beim Start des Formulars. Könntest du mir evt. erklären warum das so ist?
Probiers mal mit und ohne aus. :p

Lösch oder überarbeite den Beitrag bitte, das ist ja nicht zu lesen.
Wo kommen diese bekloppten html und Forentags her?
:suspekt:
 
cosmochaosmaker hat gesagt.:
@Darki:
...weils notwendig ist.
Da guxt Du:
Probiers mal mit und ohne aus. :p

Lösch oder überarbeite den Beitrag bitte, das ist ja nicht zu lesen.
Wo kommen diese bekloppten html und Forentags her?
:suspekt:

Keine Ahnung woher die Scheiss HTML Tags immer herkommen... so ein Schrott momentan... Habs gelöscht
 
Übrings bedanke ich mich mal bei euch, weil es funktioniert jetzt .. weiß zwar noch nicht ganz genau warum du da welche funktion benutzt hast.. aber es geht jetzt ;-)

So jetzt zum nächsten Problem *g* *neuen Thread aufmacht*
 
Zurück