Über Controls zeichnen C#

W

WM2010

Hallo zusammen,

ich will einen Rahmen in ein UserControl zeichnen, was auch ansatzweise funktioniert. Der Rahmen ist kleiner wie das UserControl.
Allerdings wird der Rahmen unter den z.B. Panels im UserControl nicht angezeigt.
Gibt es eine Möglichkeit über andere Controls drüberzuzeichnen? Irgendwas in die Richtung Pen.TopMost = true;?

Mein bisheriger Code:
Code:
                        using (var brush = new SolidBrush(Color.DarkOrange))
                        {
                            using (var pen = new Pen(brush, 5.0f))
                            {
                                pen.LineJoin = LineJoin.Round;
                               // location und size berechnen
                                var border = new Rectangle(location, size);
                                e.Graphics.DrawRectangle(pen, border);
                            }
                        }

Über Hilfe würde ich mich sehr freuen!
Grüße!
 

Shakie

Erfahrenes Mitglied
Sowas wie Pen.TopMost gibt es nicht.
Wenn du einen wirklichen Rahmen haben willst, dann solltest du den Client-Bereich deines Controls verkleinern und den Rahmen in den NonClient-Bereich zeichnen. Siehe zum Beispiel hier (ist zugegebenermaßen etwas kompliziert bis man versteht was alles getan werden muss).
 
Zuletzt bearbeitet:

Neue Beiträge