刷新控件

时间:2012-01-21 20:36:57

标签: c# winforms controls paint doevents

我正在尝试更改链接标签的前色,但颜色不会以图形方式更改。

我有一个更新控件前色的计时器

private void Timer_Tick(object sender, EventArgs e)
    {
        MyLbl.ForeColor = shouldUpdate? Color.Blue: Color.Gray;
    }

更新成功,在调试时,我可以看到myLbl的前颜色属性不同。那么为什么不以图形方式改变呢?

我也试过

MyLbl.ForeColor = Color.Gray;

尝试在更改前色后添加Application.DoEvents()。

任何解决方案?

1 个答案:

答案 0 :(得分:4)

与vanilla标签不同,链接标签不会以这种方式使用ForeColor属性为其文本着色。

改为使用LinkColor属性。

  

获取或设置显示普通链接时使用的颜色。

在您的情况下,您需要:

MyLbl.LinkColor = shouldUpdate? Color.Blue: Color.Gray;

请注意,此更新问题 - 您不必显式调用Application.DoEvents(这几乎不是正确的事情)或Invalidate或Refresh来获取链接标签响应颜色变化。