December 7th, 2011, 11:28 AM
Problem in painting custom panel control (.Net Framework 4.0).
I have inherited the standard panel control to create a panel having custom border color. The problem is, while the panel is on a form and any other form is moved across it, it paints hapazard lines of the same color as the panel custom border color, all throughout background of the panel. I tried to Refresh or Invalidate the panel in its paint event but of no avail. The same is happening while designing in the design editor too. See attached image. Why is this happening and how to get rid of it?
My code follows:
Public Class CustomPanel
Public Sub New()
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
'Set the backcolor of the panel according to the focus on it.
If Me.ContainsFocus Then
Me.BackColor = Color.Yellow
Me.BackColor = Color.White
'Draw the border of the panel.
If Me.BorderStyle = BorderStyle.None Then
Dim borderWidth As Integer = 1
Dim BorderColor As Color = Color.Blue
ControlPaint.DrawBorder(e.Graphics, e.ClipRectangle, BorderColor, borderWidth, ButtonBorderStyle.Solid, BorderColor, borderWidth, ButtonBorderStyle.Solid, BorderColor, _
borderWidth, ButtonBorderStyle.Solid, BorderColor, borderWidth, ButtonBorderStyle.Solid)
Tags for this Thread
Click Here to Expand Forum to Full Width
This is a CodeGuru survey question.