我在VB,VS2008工作,winforms。我有一些标签要创建,我正在使用BorderStyle = FixedSingle。
有没有办法改变这个边框的颜色?它总是默认为黑色。
答案 0 :(得分:32)
如果您不想创建自定义控件,可以试试这个:
连接到Label的绘画活动。
void label1_Paint(object sender, PaintEventArgs e)
{
ControlPaint.DrawBorder(e.Graphics, label1.DisplayRectangle, Color.Blue, ButtonBorderStyle.Solid);
}
摘自here <{3}}
答案 1 :(得分:12)
我结合了robin.ellis和orandov的解决方案,以获得最适合我的结果。我创建了一个自定义控件,它继承了Label对象,然后覆盖了OnPaint事件。
Public Class nomLabel
Inherits Label
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
MyBase.OnPaint(e)
ControlPaint.DrawBorder(e.Graphics, e.ClipRectangle, myColor, ButtonBorderStyle.Solid)
End Sub
End Class
感谢您的帮助!
答案 2 :(得分:8)
我也遇到了这个问题并最终使用了一种解决方法。
创建一个自定义控件,该控件由包含在面板中的标签组成。
然后,您可以使用面板创建边框并将其颜色更改为您想要的颜色。
我发现在你的应用程序中包装所有控件都是一个好主意(虽然有点耗时),因为在找到你需要一个自定义属性,或者更改为你的所有控件时类型,您只需更改基本控件和整个应用程序更改。