I'm working in VB, VS2008, winforms. I've got some labels to create, and I'm using the BorderStyle = FixedSingle.
Is there any way to change the color of this border? It is always defaulting to black.
I'm working in VB, VS2008, winforms. I've got some labels to create, and I'm using the BorderStyle = FixedSingle.
Is there any way to change the color of this border? It is always defaulting to black.
I ran into this problem as well and ended up using a workaround.
Create a custom control which consists of a label wrapped in a panel.
You can then use the panel to create your border and change it's color to whatever you want.
I've found that it's a good idea (although a little time consuming) to wrap all controls in your application anyways, because when it comes to finding out you need a custom property, or change to all of your controls of that type, you can just change the base control and your entire app changes.
If you don't want to create a custom control you can try this:
Hook up to the Label's paint event.
void label1_Paint(object sender, PaintEventArgs e)
{
ControlPaint.DrawBorder(e.Graphics, label1.DisplayRectangle, Color.Blue, ButtonBorderStyle.Solid);
}
Taken from here by Andrej Tozon
I combined the solutions from robin.ellis and orandov to get a result that worked the best for me. I created a custom control that inherited the Label object and then overrode the OnPaint event.
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
Thanks for the help!