Public Class Form1
End Class
Public Class MyCheckBox
Inherits CheckBox
Protected Overrides Sub OnPaint(e As PaintEventArgs)
MyBase.OnPaint(e)
Dim form_backColor_brush As SolidBrush = New SolidBrush(Me.BackColor)
e.Graphics.FillRectangle(form_backColor_brush, New Rectangle(0, 0, 20, 20)) '覆盖原矩形框
e.Graphics.DrawRectangle(New Pen(Color.Red), New Rectangle(0, 0, 20, 20)) '画新矩形框
If (MyBase.Checked) Then
e.Graphics.DrawString("√", New Font("黑体", 12), Brushes.Green, New Point(0, 2)) '画对号
End If
MyBase.Padding = New Padding(5, 2, 0, 0)
MyBase.Width = 100
MyBase.Height = 100
End Sub
End Class
以上代码的效果如下:
对号颜色,位置,大小,文本距离矩形框的距离,矩形框颜色大小,都可以自定义。调用不同的draw,可以画不同的图形,比如圆形,等任意图形。