(C#)如何在windows窗体中创建暗模式主题(单独窗体作为“选择主题”菜单)

(C#)如何在windows窗体中创建暗模式主题(单独窗体作为“选择主题”菜单),c#,winforms,C#,Winforms,我想知道如何编写一个黑色主题单选按钮,使整个C#windows窗体变暗(包括菜单等) 我做了一个单独的设置表单,我想有单选按钮的主题,改变整个程序中的主题,而不仅仅是设置菜单。我正在做一个文本编辑器。 步骤1:决定如何存储配色方案,并基于它创建一个类 步骤2:创建一个方法来更改容器中每个UI组件的颜色,如下所示: public void ChangeTheme(ColorScheme方案,Control.ControlCollection容器) { foreach(容器中的控制组件) { if

我想知道如何编写一个黑色主题单选按钮,使整个C#windows窗体变暗(包括菜单等)

我做了一个单独的设置表单,我想有单选按钮的主题,改变整个程序中的主题,而不仅仅是设置菜单。我正在做一个文本编辑器。

  • 步骤1:决定如何存储配色方案,并基于它创建一个类
  • 步骤2:创建一个方法来更改容器中每个UI组件的颜色,如下所示:
public void ChangeTheme(ColorScheme方案,Control.ControlCollection容器)
{
foreach(容器中的控制组件)
{
if(组件为面板)
{
变更主题(方案、组件、控件);
component.BackColor=scheme.PanelBG;
component.ForeColor=scheme.PanelFG;
}
else if(组件为按钮)
{
component.BackColor=scheme.ButtonBG;
component.ForeColor=scheme.ButtonFG;
}
else if(组件为文本框)
{
component.BackColor=scheme.TextBoxBG;
component.ForeColor=scheme.TextBoxFG;
}
...
}
}
  • 第3步:每当您在其组件上打开新表单时(并且由于明显的原因在方法完成之前确保表单不可见),或者每当您更改主题时,都调用该方法

(我找不到任何像我在网上描述的那样工作的东西)这对于堆栈溢出来说太宽了。在网上或书中找到一个教程,尝试一下,如果你在某些特定的问题上遇到困难,请回来!!我在网上找不到任何我想要的东西,也没有任何编码书籍。搜索“c#如何为winforms应用程序创建主题”不到一分钟,就出现了以下结果:,@HolzkopfBude:当单选按钮更改其值时,您需要为整个表单编码。通过搜索“winforms ui c”,您可以在YouTube上获得有关黑暗和光明模式的信息以及许多有用的视频