首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LinkLabel边框颜色

LinkLabel边框颜色
EN

Stack Overflow用户
提问于 2013-03-28 05:51:13
回答 2查看 537关注 0票数 2

我正在使用LinkLabel,并希望将边框设置为红色。我将BorderStyle设置为FixedSingle,将ForeColor设置为红色,但只有文本是红色的,边框仍然是黑色的。

如果我对Label控件做同样的操作,我得到的边框和文本是红色的,有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-28 06:04:16

BorderStyle设置为None并绘制您自己的own。

代码语言:javascript
复制
private void linkLabel1_Paint(object sender, PaintEventArgs e)
{
    if (linkLabel1.ForeColor == Color.Red)
        ControlPaint.DrawBorder(e.Graphics, linkLabel1.DisplayRectangle, linkLabel1.ForeColor, ButtonBorderStyle.Solid);
    else
        ControlPaint.DrawBorder(e.Graphics, linkLabel1.DisplayRectangle, Color.Black, ButtonBorderStyle.Solid);
}
票数 3
EN

Stack Overflow用户

发布于 2013-03-28 06:23:24

LinkLabels实际上没有边框颜色属性,但您可以挂接到OnPaint事件并绘制自己的边框。在windows-tech.info上有一段代码展示了如何做到这一点。

正如他们提到的,如果你打算重用LinkLabel控件,你可以从它派生出一个新的控件。在这一点上,您甚至可以添加一个"CustomBorderColor“属性并使用它。未设置的颜色显示为空,因此我会使用默认为透明的颜色。如下所示:

代码语言:javascript
复制
using System.Drawing.Color;
private Color m_CustomBorderColor = Color.Transparent;

public Color CustomBorderColor
{
    get { return m_CustomBorderColor; }
    set { m_CustomBorderColor = value; }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15670209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档