Я работаю в VB, VS2008, winforms. У меня есть некоторые метки для создания, и я использую BorderStyle = FixedSingle.
Есть ли способ изменить цвет этой границы? Он всегда по умолчанию черным.
Я работаю в VB, VS2008, winforms. У меня есть некоторые метки для создания, и я использую BorderStyle = FixedSingle.
Есть ли способ изменить цвет этой границы? Он всегда по умолчанию черным.
Если вы не хотите создавать настраиваемый элемент управления, вы можете попробовать следующее:
Подключитесь к событию Paint Label.
void label1_Paint(object sender, PaintEventArgs e)
{
ControlPaint.DrawBorder(e.Graphics, label1.DisplayRectangle, Color.Blue, ButtonBorderStyle.Solid);
}
Взято из здесь Андрей Тозон
Я объединил решения от 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
Спасибо за помощь!
Я столкнулся с этой проблемой и в итоге использовал обходной путь.
Создайте настраиваемый элемент управления, состоящий из ярлыка, завернутого в панель.
Затем вы можете использовать панель для создания своей границы и изменить ее цвет по своему желанию.
Я нашел, что это хорошая идея (хотя и немного времени) для того, чтобы все элементы управления в вашем приложении все равно, потому что, когда дело доходит до выяснения, вам нужно настраиваемое свойство или изменить все ваши элементы управления этого тип, вы можете просто изменить базовый элемент управления и изменить все ваше приложение.