尝试更改标签的边框颜色

Posted

技术标签:

【中文标题】尝试更改标签的边框颜色【英文标题】:Trying to change the Border Color of a label 【发布时间】:2010-11-02 12:38:35 【问题描述】:

我在 VB、VS2008、winforms 中工作。我有一些标签要创建,我正在使用 BorderStyle = FixedSingle。

有没有办法改变这个边框的颜色?它始终默认为黑色。

【问题讨论】:

【参考方案1】:

如果您不想创建自定义控件,可以试试这个:

连接到标签的绘制事件。

void label1_Paint(object sender, PaintEventArgs e)

    ControlPaint.DrawBorder(e.Graphics, label1.DisplayRectangle, Color.Blue, ButtonBorderStyle.Solid);

取自hereAndrej Tozon

【讨论】:

【参考方案2】:

我结合了 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

感谢您的帮助!

【讨论】:

这个怎么用? myLabel.BorderStyle = nomLabel? @AdorableVB,nomLabel 是自定义控件,不是边框样式。您将使用 nomLabel 代替标准的 Label 控件。 是的,明白了。昨天创建了我的,但是边界是固定的。当鼠标悬停时我想要ButtonBorderStyle.Solid,当鼠标离开时我想要.None。代码不起作用,如果我使用自定义控件,它也不会应用代码。【参考方案3】:

我也遇到了这个问题,最终使用了一种解决方法。

创建一个自定义控件,该控件包含一个包裹在面板中的标签。

然后您可以使用面板创建边框并将其颜色更改为您想要的任何颜色。

我发现将所有控件封装在您的应用程序中是个好主意(尽管有点费时),因为当您发现您需要自定义属性时,或者更改为您的所有控件时类型,您可以只更改基本控件并更改整个应用程序。

【讨论】:

以上是关于尝试更改标签的边框颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何在引导选项卡上编辑(更改颜色和边框像素)?

Flutter - 更改 OutlineInputBorder 的边框颜色

如何更改按钮的边框颜色并更改editText中下划线的颜色?

更改窗口的边框颜色

Flutter - 如何更改 TextField 边框颜色?

无法更改 TextField 边框颜色