我正在寻找在Button Click或Timer上更改Button Backcolor的可能性。
使用MetroFramework是可以的;表单样式设置为MetroForm,对象可用。
我找到了一些代码,但它不起作用。
using MetroFramework.Forms;
using MetroFramework.Drawing;
using MetroFramework.Controls;
using System.Drawing;
private void metroButton1_Click(object sender, EventArgs e)
{
//metroButton1.BackColor = Color.Green;
metroButton1.BackColor = System.Drawing.Color.AliceBlue;
metroButton1.Text = "button click";
//metroButton1.BackColor.System.Drawing.Color.DarkGray;
答案 0 :(得分:2)
问题解决了
usecustombackcolor设置为true
metroButton1.BackColor = Color.Lime;
THX
答案 1 :(得分:1)
根据MetroButton
类(on github)的源代码,有一个属性:
private bool useCustomBackColor= false;
[DefaultValue(false)]
[Category(MetroDefaults.PropertyCategory.Appearance)]
public bool UseCustomBackColor
{
get { return useCustomBackColor; }
set { useCustomBackColor = value; }
}
如果OnPaintBackground(PaintEventArgs e)
中的此属性为false,则会设置一个设置默认背景颜色的代码:
if (!useCustomBackColor)
{
backColor = MetroPaint.BackColor.Button.Normal(Theme);
}
设置UseCustomBackColor
应解决您的问题