单击按钮时,立即更改所有MenuItems ForeColor

时间:2015-06-09 21:48:17

标签: c# winforms drop-down-menu colors

My program themes

我已经提出了这个问题,但答案并非我所期待的......

正如您在上图所示,我有两个主题(Light& Dark)。 " Light"主题运作良好,但当我点击" Dark"主题menuItems从下拉列表仍然相同,具有相同的ForeColor(黑色)。我想知道它是否有某种方式,当我点击" Dark"按钮,它将每个项目ForeColor更改为白色,而不必逐个更改。

private void darkToolStripMenuItem_Click(object sender, EventArgs e)
{
    this.BackColor = Color.FromArgb(30,30,30);
    lblTvalue.Text = "0";
    Application.DoEvents();
    menuStrip.ForeColor = Color.FromArgb(225,225,225); //<- I want a code like this
    menuStrip.Renderer = new MyRendererBlack();
}

有些人告诉我一个接一个地做:

private void darkToolStripMenuItem_Click(object sender, EventArgs e)
{
    this.BackColor = Color.FromArgb(30,30,30);
    menuStrip.ForeColor = Color.FromArgb(225,225,225);
    themeToolStripMenuItem.ForeColor = Color.FromArgb(225,225,225);
    lightToolStripMenuItem.ForeColor = Color.FromArgb(225,225,225);
    darkToolStripMenuItem.ForeColor = Color.FromArgb(225,225,225);
    testToolStripMenuItem.ForeColor = Color.FromArgb(225,225,225);
}

但是,如果我想添加新项目怎么办?我一定要这么做吗? 是否有一种简单的方法可以获取ToolStripMenuItem的属性并使所有内容变为白色? 类似的东西:

ToolStripMenuItem.ForeColor = Color.FromArgb(225,225,225);

请帮助。

0 个答案:

没有答案