使表单的背景透明

The*_*ask 12 .net c# background winforms

我如何在表单上透明背景?在C#中有可能吗?

提前致谢!

Ry-*_*Ry- 34

您可以将BackColor表单设置为不常见的颜色(比如说Color.Magenta),然后将表单的TransparencyKey属性设置为相同的颜色.然后,设置FormBorderStyleNone.

当然,这只是快速简便的解决方案.控件的边缘很难看,你必须不断改变你添加的新控件的背景颜色(如果它们是按钮或类似的东西)和许多其他问题.

这真的取决于你想要达到的目标.它是什么?如果你想制作一个小部件,那就有更好的方法.如果您需要圆角或自定义背景,有更好的方法.所以请提供更多信息,如果TransparencyKey不是你的想法.


Bri*_*ham 14

将以下内容放在窗体的构造函数中:

public Form1()
{
    this.TransparencyKey = Color.Turquoise;
    this.BackColor = Color.Turquoise;
}
Run Code Online (Sandbox Code Playgroud)

注意:此方法会阻止您单击表单.

  • 或更好:TransparencyKey = BackColor; (4认同)
  • 这种方法使边缘难看。特别是当你有阴影时。 (2认同)