Steuerelement oder Kreis erstellen lassen.

Du kannst z.B. so einen Kreis malen:

C#:
...
Graphics g = someControl.CreateGraphics;
g.DrawEllipse(new Pen(Color.Black), 0, 0, 15, 15);
...

Und schon hast du einen Kreis mit dem Radius 15 (0, 0 sind die Ursprungskoordinaten eines Rechtecks; 15, 15 die Seitenlängen; innerhalb derer wird die Ellipse gemalt).
 
Das kommt wohl darauf an, wo du das einfügen willst (dein Code?). Jegliche Controls von WindowsForms haben z.B. die CreateGraphics Eigenschaft.
 
CreateGraphics sollte man nicht verwenden. Besser ist es die OnPaint-Methode zu überschreiben oder das Paint-Ereignis zu abonnieren und darin zu zeichnen.
Denn andernfalls lässt sich der Kreis "wegwischen", wenn man ein anderes Fenster darüber schiebt.
 
Wenn du noch mehr über andere Zeichenfunktionen wissen willst, kannst du hier für die grundlegenden Sachen schauen. Achte aber darauf was Shakie gesagt hat. CreateGraphics ist suboptimal wenn man eine Grafik möchte, die das nächste Invalidate überlebt. Wenn es dir darum geht, einfach nur Grafik darzustellen, wär eine PictureBox dafür prädestiniert. Einfach das OnPaint-Event behandeln, das Graphics Objekt kriegst du dann als Parameter an den Ereignisbehandler geliefert.

Für eine vollständige Doku aller graphischen Funktionen bietet sich wie immer die msdn an.
 
Wenn es dir darum geht, einfach nur Grafik darzustellen, wär eine PictureBox dafür prädestiniert.
Stimmt nur bedingt. Wenn du unter Grafik ein Bild verstehst das in einer Datei gespeichert ist (z.B. auf der Festplatte) und dargestellt werden soll, dann stimmt das.
Wenn du unter Grafik ein mit Hilfe des Graphics-Objekts gezeichnetes Bild verstehst, dann sollte man keine PictureBox verwenden. Das war im alten VB6 zwar so, in .Net aber nicht mehr.
Jedes Control hat das Paint-Event, also eignet sich prinzipiell jedes Control um darauf zu zeichnen. Das einfachste Control ist da wohl ein Panel. Mit einer PictureBox würde man nur unnötigen Ballast herumschleppen. Man kann auch direkt auf die Form zeichnen, da diese von Control erbt. Dann braucht man überhaupt kein zusätzliches Control.
 
Zuletzt bearbeitet:
Zurück