C# 单击按钮时,立即更改所有菜单项的前景色

C# 单击按钮时,立即更改所有菜单项的前景色,c#,winforms,drop-down-menu,colors,C#,Winforms,Drop Down Menu,Colors,我已经提出了这个问题,但答案不是我所期望的 如上图所示,我有两个主题(光明和黑暗)。“灯光”主题运行良好,但当我点击“黑暗”主题时,下拉菜单中的菜单项仍然相同,具有相同的前景色(黑色)。我想知道它是否有某种方式,当我点击“暗”按钮时,它会将每个项目的前景色都更改为白色,而无需逐个更改 private void darkToolStripMenuItem_Click(object sender, EventArgs e) { this.BackColor = Color.FromArgb

我已经提出了这个问题,但答案不是我所期望的


如上图所示,我有两个主题(光明和黑暗)。“灯光”主题运行良好,但当我点击“黑暗”主题时,下拉菜单中的菜单项仍然相同,具有相同的前景色(黑色)。我想知道它是否有某种方式,当我点击“暗”按钮时,它会将每个项目的前景色都更改为白色,而无需逐个更改

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();
}
但是,如果我想添加一个新项目呢?我将不得不一直这样做? 有没有一种简单的方法可以获取ToolStripMenuItem的属性并将所有内容变为白色? 比如:

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

请提供帮助。

没有更好的方法,但您可以在循环中完成。请看这是一个Windows窗体应用程序,您必须使用主窗口控件上的循环…给定链接中的更新是针对Windows窗体的。唯一的区别是必须设置颜色。不管怎样,我更喜欢一个接一个地设置它们,除非有两个或多个。谢谢,我会用的。
ToolStripMenuItem.ForeColor = Color.FromArgb(225,225,225);