繁体   English   中英

使面板控件透明

[英]making panel control transparent

我有一个面板控件,上面有背景图片。 我希望它改变不透明度,然后将鼠标移到它上面。 我怎样才能做到这一点? 我试过了:

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

要激活这些功能,请添加两个EventHandlers:

btnExit.MouseHover += new EventHandler(btnExit_MouseHover);
btnExit.MouseLeave += new EventHandler(btnExit_MouseLeave);

这可以解决问题,现在您只需将背景色更改为您喜欢的背景色即可;)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM