使面板控制透明

本文关键字:透明 控制 | 更新日期: 2023-09-27 17:51:06

我有一个面板控件,它有一个背景图片。我想改变它的不透明度,当我把鼠标移到它上面。我该怎么做呢?我试着:

  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);

这个就可以了,现在你只需要把背景色改成你喜欢的那个;)