C# – 透明表格

我目前有一个表格,除了一个之外,还有所有想要的效果。 目前的forms由顶部的menustrip组成,下面有一个面板,其中包含标签和图片框。 当表单启动时,menustrip不可见,只有当用户按下“Alt”按钮并以相同方式消失时才会显示。

面板将具有透明背景(.PNG)的背景图像。 这个图像将成为表单的主要布局,因为我将borderstyle设置为none。 现在问题是表单在面板下面仍然有白色/浅灰色背景。

现在我的问题是我如何使表单透明,以便面板上的图像成为主要布局,而不仅仅是在其下面具有背景颜色的图像。 我不想使用Opacity属性,因为我希望面板100%可见。

假设WinForms。

您可以这样做,但不能使边缘半透明。

试试这个。

在表单上,​​设置以下属性:

BackColor = Color.Lime; TransparencyKey = Color.Lime; 

这将使表单透明。 然后设置backgroundimage:

 BackgroundImage = myImage: 

background.mage的部分也是Color.Lime也将变得透明。

如果您还想摆脱Forms边框,也可以添加以下行:

 FormBorderStyle = FormBorderStyle.None; 

选择背光时要小心。 选择Backcolor与您的文本,图像和任何控件的颜色不同,这意味着选择一种您将永远不会在表单中使用的颜色,我认为Fuchsia / lime将是最佳选择。选择背景颜色代码如下:

 this.BackColor = Color.Fuchsia; 

然后使用该代码将该颜色设置为透明:

 TransparencyKey = Color.Fuchsia;