半透明面板背景

时间:2009-06-26 11:30:58

标签: c# .net winforms

我有一个面板,它位于呈现视频的控件之上。我在那个面板上有控件(按钮等),我想要完全不透明。现在,通过覆盖CreateParams属性,可以创建透明的面板背景。但是,如何使面板具有半透明(~50%不透明度)背景,同时保持按钮完全不透明?

我正在使用.NET 2.0。

2 个答案:

答案 0 :(得分:2)

最后事实证明这是不可能的,在面板上设置透明度在WinForms中非常垃圾。

我使用的解决方法是手动将控件渲染到给定曲面上,并相应地更改Alpha值。

答案 1 :(得分:1)

您可以使用两个面板,一个放在另一个面板中。外部面板没有背景,并且内部面板和控件以及内部面板(其Z-Index将其放置在控件后面)提供半透明背景。

我会承认,我建议这样做而不会实际验证这会有效......