Я объединил решения от 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
Спасибо за помощь!
Ответ 3
Я столкнулся с этой проблемой и в итоге использовал обходной путь.
Создайте настраиваемый элемент управления, состоящий из ярлыка, завернутого в панель.
Затем вы можете использовать панель для создания своей границы и изменить ее цвет по своему желанию.
Я нашел, что это хорошая идея (хотя и немного времени) для того, чтобы все элементы управления в вашем приложении все равно, потому что, когда дело доходит до выяснения, вам нужно настраиваемое свойство или изменить все ваши элементы управления этого тип, вы можете просто изменить базовый элемент управления и изменить все ваше приложение.