Groupbox - 更改边框颜色 - RowPosition错误

时间:2016-12-19 08:02:29

标签: vb.net groupbox

我有这个代码来改变Groupboxes的边框颜色。它将自定义组框添加到我的工具箱中,我可以更改边框颜色,但每次开始调试时都会出现此错误: InvalidArgument =“-2147483648”的值对“RowPosition”无效。 即可。正如我在网上看到的那样,当项目中存在一些错误代码时会产生此错误。有谁知道我该怎么处理这个?

Public Class GroupBox_Color
    Inherits GroupBox

    Private _borderColor As Color

    Public Sub New()
        MyBase.New()
        Me._borderColor = Color.Blue
    End Sub

    Public Property BorderColor() As Color
        Get
            Return Me._borderColor
        End Get
        Set(ByVal value As Color)
            Me._borderColor = value
        End Set
    End Property

    Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
        Dim tSize As Size = TextRenderer.MeasureText(Me.Text, Me.Font)
        Dim borderRect As Rectangle = Me.DisplayRectangle

        borderRect.Y = (borderRect.Y + (tSize.Height / 2))
        borderRect.Height = (borderRect.Height - (tSize.Height / 2))

        ControlPaint.DrawBorder(e.Graphics, borderRect, Me._borderColor,
                            ButtonBorderStyle.Solid)

        Dim textRect As Rectangle = Me.DisplayRectangle
        textRect.X = (textRect.X + 6)
        textRect.Width = tSize.Width
        textRect.Height = tSize.Height

        e.Graphics.FillRectangle(New SolidBrush(Me.BackColor), textRect)
        e.Graphics.DrawString(Me.Text, Me.Font, New SolidBrush(Me.ForeColor), textRect)
    End Sub

End Class

0 个答案:

没有答案