我正在使用LinkLabel
,並且想要將邊框設置爲紅色。 我將BorderStyle
設置爲FixedSingle
,並將ForeColor
設爲紅色,但只有文本爲紅色,邊框仍爲黑色。LinkLabel邊框顏色
如果我對Label
控件做同樣的操作,我會得到邊框和文字爲紅色,有什麼建議嗎?
我正在使用LinkLabel
,並且想要將邊框設置爲紅色。 我將BorderStyle
設置爲FixedSingle
,並將ForeColor
設爲紅色,但只有文本爲紅色,邊框仍爲黑色。LinkLabel邊框顏色
如果我對Label
控件做同樣的操作,我會得到邊框和文字爲紅色,有什麼建議嗎?
設置BorderStyle
爲None
並繪製自己的。
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事件並繪製自己的邊框。有代碼顯示如何在windows-tech.info處執行此操作。
正如他們在那裏提到的那樣,如果您打算重新使用LinkLabel控件,您可以從中獲得新的控件。在這一點上,你甚至可以添加一個「CustomBorderColor」屬性並使用它。一個未設置的顏色會變成Empty,所以我會選擇默認爲透明的。像這樣:
using System.Drawing.Color;
private Color m_CustomBorderColor = Color.Transparent;
public Color CustomBorderColor
{
get { return m_CustomBorderColor; }
set { m_CustomBorderColor = value; }
}