Hallo,

ich bin dabei mir einen eigenen Button zu erstellen. Jetzt klappt soweit auch alles gut, aber ich sehe im Hintergrund noch die Form also der Hintergrund ist irgendwie noch zu sehen.

Im Konstruktor setze ich die Hintergrundfarbe auf .Transparent , allerdings wirkt das irgendwie nicht:

Code:
  Public Sub New()
    	Me.DoubleBuffered = True
    	Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True)
    	Me.SetStyle(ControlStyles.FixedHeight, True)
    	Me.SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
    	Me.SetStyle(ControlStyles.ResizeRedraw, True)
    	Me.BackColor = Color.Transparent
	End Sub
Im On_Paint Event führe ich das zeichnen so aus:

Code:
 Public Sub Redraw(ByVal ausgabe As Graphics)
    	Dim bmp As New Bitmap(Me.Width, Me.Height)
    	Dim gr As Graphics = Graphics.FromImage(bmp)
    	gr.Clear(Me.BackColor)


    	Dim buttonState As ButtonState = buttonStates(Status)
    	gr.DrawImage(buttonState.left, 0, 0, buttonState.left.Width, Me.Height)
    	For i As Integer = buttonState.left.Width To Me.Width - buttonState.right.Width - 1
        	gr.DrawImage(buttonState.middle, i, 0, buttonState.middle.Width, Me.Height)
    	Next
    	gr.DrawImage(buttonState.right, Me.Width - buttonState.right.Width, 0, buttonState.right.Width, Me.Height)



    	'Text zeichen
    	Dim sfm As New StringFormat
    	sfm.LineAlignment = StringAlignment.Center : sfm.Alignment = StringAlignment.Center

    	gr.TextRenderingHint = Drawing.Text.TextRenderingHint.AntiAlias
    	gr.DrawString(_Text, Me.Font, New SolidBrush(Me.ForeColor), New Rectangle(0, 0, Me.Width, Me.Height), sfm)

    	gr.Dispose()
    	ausgabe.DrawImageUnscaled(bmp, 0, 0)
    	bmp.Dispose()
	End Sub
Kann mir jemand sagen was ich falsch mache?