我的框架上有许多按钮,我想显示通过显示背景颜色选择哪一个。唯一的问题是,只有当鼠标悬停在按钮上时,此背景颜色才可见,否则按钮将呈白色清晰。
覆盖MouseEnter和MouseLeave事件没有帮助。
该按钮继承自标准Windows窗体按钮,并具有以下方法来显示它是否已被选中:
public void SetFocus(bool focused)
{
if (focused)
this.BackColor = SelectColor;
else this.BackColor = color;
}
SelectColor是一种静态黄色(表示按钮被选中),颜色是存储在类中的私有颜色,保留按钮未选中时所具有的颜色。
有没有人知道如何显示背景颜色,即使没有悬停在按钮上?
答案 0 :(得分:0)
创建一个派生自Button
的新类:
class MyButton : Button
{
public MyButton() : base()
{
this.BackColor = System.Drawing.Color.AntiqueWhite;
}
protected override void OnMouseEnter(EventArgs e)
{
this.BackColor = System.Drawing.Color.Blue;
base.OnEnter(e);
}
protected override void OnMouseLeave(EventArgs e)
{
this.BackColor = System.Drawing.Color.AntiqueWhite;
base.OnLeave(e);
}
}
然后在表单上使用它对我有用。您必须以编程方式添加按钮或编辑.designer.cs文件。
显然用您的值替换我的硬编码颜色。