我有一个面板控件,上面有一张背景图片。我希望它改变不透明度,我将鼠标移到它上面。我怎样才能做到这一点?我试过了:
btnExit.BackColor = Color.FromArgb(20,63,63,63);
btnExit.BackColor = Color.FromArgb(20);
但没有任何改变..任何想法为什么这不起作用?该面板位于另一个面板上,该面板也有背景图片。谢谢!
据我所知,可以使用您的方法完成,但我想您必须刷新控件。
btnExit.Refresh();
编辑:
首先将您的按钮FlatStyle 设置为 Flat。
this.btnExit.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
然后制作两个函数,分别称为 btnExit_MouseHover 和 btnExit_MouseLeave:
void btnExit_MouseHover(object sender, EventArgs e)
{
btnExit.BackColor = Color.FromArgb(20, 63, 63, 63);
btnExit.Refresh();
}
void btnExit_MouseLeave(object sender, EventArgs e)
{
btnExit.BackColor = Color.FromArgb(100, 63, 63, 63);
btnExit.Refresh();
}
要激活这些功能,请添加两个 EventHandler:
btnExit.MouseHover += new EventHandler(btnExit_MouseHover);
btnExit.MouseLeave += new EventHandler(btnExit_MouseLeave);
这可以解决问题,现在您只需将背景颜色更改为您喜欢的颜色;)。