恢复 C# Windows 窗体背景色
Posted
技术标签:
【中文标题】恢复 C# Windows 窗体背景色【英文标题】:Restore C# Windows Forms backcolor 【发布时间】:2012-01-03 07:49:02 【问题描述】:我在 Windows 窗体窗体上有一个按钮,单击该按钮时,我将其背景颜色更改为 Color.Yellow
。当再次点击它时,我想将其恢复为原始默认外观。
默认背景色为SystemColor.Control
。
当第一次点击按钮时,我唯一改变的是
btn.Text = "ABC";
btn.BackColor = Color.Yellow;
当它再次被点击时,我会这样做
btn.BackColor = SystemColors.Control
新背景的底纹与点击前的底纹不同。该按钮最初的背景不是纯色,而是两种略有不同的灰色阴影。最终的颜色是纯灰色。
我正在一台 Windows 7 机器上对此进行测试。
截图:
【问题讨论】:
可以发截图吗?另外,您运行的是什么操作系统版本? 您在问题上投入的精力越多,得到的答案就越好,因此请附上问题的屏幕截图。 相关:How to reset to default button BackColor? 【参考方案1】:试试这个:
if (button1.BackColor == Color.Yellow)
button1.BackColor = SystemColors.Control;
button1.UseVisualStyleBackColor = true;
else
button1.BackColor = Color.Yellow;
【讨论】:
【参考方案2】:您还应该将 UseVisualStyleBackColor 设置为 true。当您更改背景颜色时,此属性设置为 false。
【讨论】:
【参考方案3】:尝试使用btn.ResetBackColor()
,而不是手动设置BackColor
。
【讨论】:
winform 按钮中不存在该功能(至少在 .net 3.5 winform 中) 它确实存在,只是没有显示在智能感知中,因为它被标记为 [EditorBrowsable(EditorBrowsableState.Never)] @JonF 根据MSDN 它存在,因为.Net 1.0 我的错。不幸的是,我得到了相同的结果【参考方案4】:这将恢复默认外观(在 Windows 7、.net 3.5 上测试):
btn.BackColor = System.Drawing.Color.Transparent;
【讨论】:
以上是关于恢复 C# Windows 窗体背景色的主要内容,如果未能解决你的问题,请参考以下文章
C# DataGridViewButtonColumn 按键的背景色怎样修改?