【问题标题】:Change colour of toolStripLabel C#.Net更改 toolStripLabel C#.Net 的颜色
【发布时间】:2011-11-26 09:01:41
【问题描述】:

我想更改标签框的颜色 - 而不仅仅是标签中的文本。我该怎么做?

label.BackColor = Color.Coral;(例如)将改变标签内文本的颜色..而不是整个标签框的背景颜色。

另外,如果重要的话,我正在使用 toolStripContainer 和 ToolStrip。我使用 ToolStrip 创建标签....(我在我的代码中使用了 ForeColor,因为使用“BackColor”不会导致任何改变。使用 ForeColor 至少会改变字体的颜色)

    private void labelEdit_MouseHover(object sender, EventArgs e)
    {
        labelEdit.ForeColor = Color.Coral;
    }

【问题讨论】:

  • 我不相信这是您的实际代码,因为使用的是“颜色”而不是“颜色”。请您发布一个简短但完整的程序来演示该问题吗?
  • @Jon Skeet...我的加拿大人不小心将“color”拼成了“color”,但是是的..我的代码几乎是一样的——除了单词的拼写..
  • 恰恰相反 - 我很高兴我问了这个问题,因为现在我们已经看到不仅仅是“颜色”的拼写不同。这是“前”与“后”。看我的回答。
  • 这个问题可能与下面的问题重复,它可能有更好的解决方案:stackoverflow.com/questions/8037406/…

标签: c# .net winforms label


【解决方案1】:

编辑:事实证明,这个问题有点牵强。更改 ForeColor 会相应地更改文本,但更改 BackColor 显然没有任何作用。

编辑:根据 cmets,您似乎需要在工具条上将 ToolStrip.RenderMode 设置为 ToolStripRenderMode.System


现在您已经发布了实际代码,答案显而易见。您最初说您正在使用:

label.BackColour = Color.Coral;

你实际上在使用:

labelFile.ForeColor = Color.Coral;

注意“前”与“后”。您希望更改 background 颜色...所以您应该使用

labelFile.BackColor = Color.Coral;

【讨论】:

  • 我尝试过使用BackColor,但它根本没有改变任何东西,因此我输入了ForeColor,因为它至少改变了字体颜色......
  • @BlueMonster:嗯,你应该在之前说过......如果你要问一个问题,说你对前景色为什么会改变感到困惑,然后你发布代码更改ForeColor,不清楚你尝试了什么...
  • @BlueMonster:这就是为什么如果你能展示一个简短但完整的程序来证明问题会很有用:)
  • @BlueMonster 抱歉,我没有使用 ToolStripContainer.... 在更改颜色之前添加此行 toolStrip2.RenderMode= ToolStripRenderMode.System;这行得通。!!!
猜你喜欢
  • 1970-01-01
  • 2020-12-19
  • 2010-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-14
  • 2010-12-03
  • 1970-01-01
相关资源
最近更新 更多