Hier eine kleine aber feine Funktion, die ich mir geschrieben habe, um einen Schatten um ein Control zu zeichnen (sieht schick aus z.B. bei Panels).
Man kann beliebig viele Farben hinzufügen und wenn gewünscht eine Umrandung hinzufügen.
EDIT: Hässlich, aber selten
~ Chris
VB.NET-Quellcode
- Private Sub Schatten(ByVal Name As Control, ByVal Farben As List(Of Pen), Optional ByVal Umrandung As Boolean = True)
- Dim g As Graphics = Graphics.FromHwnd(Me.Handle)
- Dim Start As Integer = 0
- If Umrandung = True Then
- Start = 1
- g.DrawRectangle(Pens.Red, New Rectangle(Name.Left - 1, Name.Top - 1, Name.Width + 1, Name.Height + 1))
- End If
- For i As Integer = Start To Farben.Count - 1
- g.DrawRectangle(Farben(i), New Rectangle(Name.Left + Name.Width + i, Name.Top + i, 1, Name.Height + Start))
- g.DrawRectangle(Farben(i), New Rectangle(Name.Left + i, Name.Top + Name.Height + i, Name.Width + Start, 1))
- Next
- End Sub
- Private Sub Haupt_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
- Dim Farben As New List(Of Pen)
- Farben.Add(Pens.DimGray)
- Farben.Add(Pens.Gray)
- Farben.Add(Pens.DarkGray)
- Farben.Add(Pens.Silver)
- Farben.Add(Pens.LightGray)
- Farben.Add(Pens.Gainsboro)
- Schatten(Tester, Farben, False)
- End Sub
Man kann beliebig viele Farben hinzufügen und wenn gewünscht eine Umrandung hinzufügen.
EDIT: Hässlich, aber selten
~ Chris
To make foobar2000 a real random music player, I figured out the only way to achieve this is to use Windows Media Player.
“At some point in time, you recognize that knowing more does not necessarily make you more happy.”