c# -如何检索窗口的背景颜色

本文关键字:窗口 背景 颜色 检索 何检索 | 更新日期: 2023-09-27 18:09:38

我在这个论坛上搜索过,我没有找到任何可以帮助我的东西。如果可能的话,请帮忙。谢谢你。

我设置了一个窗口的背景黑色(或任何其他我喜欢的颜色)。作为应用程序计算的一部分,我在该窗口上用颜色绘制了不同的区域。区域的颜色是动态的,我想在颜色改变之前找到并存储区域的起始颜色,这样我就可以返回到基础颜色。例如,如果开始的背景色是黑色,而应用程序将颜色更改为绿色,我希望在需要时将颜色返回到基础色黑色,而不必记住基础色是黑色。

我试过使用

private Color backgroundColor = (Color)System.Drawing.SystemColors.Window;

然后是

BackColor = backgroundColor;

这确实有效,但是颜色返回到白色而不是我在首选项中指定的黑色。

谁能提出一个解决方案?非常感谢您能提供的任何帮助。

c# -如何检索窗口的背景颜色

是的,SystemColors。窗口默认为白色。你可能想要这样:

private Color backgroundColor;
private void startPlotting()
{
    backgroundColor = BackColor;
    BackColor = Color.Black;
    // etc..
}
private void restoreWindow()
{ 
    BackColor = backgroundColor;
}
Color.FromArgb(System.Drawing.SystemColors.WindowFrame.ToArgb());