C# 链接标签边框颜色

C# 链接标签边框颜色,c#,winforms,C#,Winforms,我正在使用LinkLabel,希望将边框设置为红色。 我将BorderStyle设置为FixedSingle 前景色变为红色,但只有文本是红色,边框仍然是黑色 如果我对标签控件执行相同的操作,我会将边框和文本显示为红色,有什么建议吗?将边框样式设置为无,然后自己绘制 private void linkLabel1_Paint(object sender, PaintEventArgs e) { if (linkLabel1.ForeColor == Color.Red)

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


如果我对
标签
控件执行相同的操作,我会将边框和文本显示为红色,有什么建议吗?

边框样式
设置为
,然后自己绘制

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);
}

LinkLabels实际上没有边框颜色属性,但您可以挂接到OnPaint事件并绘制自己的边框。有一段代码显示了如何在

正如他们在这里提到的,如果您计划重用LinkLabel控件,则可以从该控件派生一个新控件。此时,您甚至可以添加一个“CustomBorderColor”属性并使用它。未设置的颜色显示为空,因此我会选择默认为透明的颜色。像这样:

using System.Drawing.Color;
private Color m_CustomBorderColor = Color.Transparent;

public Color CustomBorderColor
{
    get { return m_CustomBorderColor; }
    set { m_CustomBorderColor = value; }
}