我目前有一张表格,除了一张之外,还有所有想要的效果。目前的形式由顶部的menustrip组成,下面有一个面板,其中包含标签和图片框。当表单启动时,menustrip不可见,只有当用户按下“Alt”按钮并且以相同方式消失时才会显示。
面板将具有透明背景(.PNG)的背景图像。这个图像将成为表单的主要布局,因为我将borderstyle设置为none。现在问题是表单在面板下面仍然有白色/浅灰色背景。
现在我的问题是我如何使表单透明,以便面板上的图像成为主要布局,而不仅仅是图像下方的背景颜色。我不想使用Opacity属性,因为我希望面板100%可见。
答案 0 :(得分:29)
假设WinForms。
你可以这样做,但你不能使边缘半透明。
试试这个。
在表单上,设置以下属性:
BackColor = Color.Lime;
TransparencyKey = Color.Lime;
这将使表单透明。然后设置backgroundimage:
BackgroundImage = myImage:
background_mage的Color.Lime
部分也将变得透明。
如果您还想摆脱Forms
边框,请同时添加以下内容:
FormBorderStyle = FormBorderStyle.None;
答案 1 :(得分:3)
选择背景时要小心。选择Backcolor与您的文本,图像和任何控件的颜色不同,这意味着选择一种您将永远不会在表单中使用的颜色,我认为Fuchsia / lime将是最佳选择。选择背景颜色代码如下:
this.BackColor = Color.Fuchsia;
然后使用以下代码将该颜色设置为透明:
TransparencyKey = Color.Fuchsia;