我在Windows Forms表单上有一个按钮,单击该按钮后会将其背景色更改为Color.Yellow。再次单击时,我想将其还原为原始的默认外观。

默认的背景色是SystemColor.Control

第一次单击该按钮时,我唯一要更改的是

btn.Text = "ABC";
btn.BackColor = Color.Yellow;

当我再次点击它
btn.BackColor = SystemColors.Control

新背景的阴影与单击之前的阴影不同。该按钮最初的背景不是纯色,而是两个略有不同的灰色阴影。最终的颜色最终变为纯灰色。

我正在Windows 7计算机上对此进行测试。

屏幕截图:

最佳答案

试试这个:

if (button1.BackColor == Color.Yellow)
{
    button1.BackColor = SystemColors.Control;
    button1.UseVisualStyleBackColor = true;
}
else
{
    button1.BackColor = Color.Yellow;
}

关于c# - 还原C#Windows窗体背景色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8218144/

10-08 22:22