具有透明背景的UI不显示下一个立即图层

时间:2012-07-18 16:45:54

标签: c# winforms background transparent

如果我们将任何UI的背景设置为透明,则不会显示其下方的内容,这意味着任何UI或容器。相反,它显示Form的默认背景,即最低的背景。

如何解决这个透明度问题?

2 个答案:

答案 0 :(得分:2)

不幸的是,这是设计的:

http://support.microsoft.com/kb/943454

  

WinForms中的透明控件相对于它们是透明的   父母,而不是其他控制。 WinForms中的透明度更接近   伪装而不是真正的透明度。透明控件没有   实际上让你通过表单看到它背后的控件。它问道   它的父级在“透明”控件上绘制自己的背景。   这就是为什么透明控件显示它背后的形式,但覆盖   任何其他控制。

链接中有一些代码可以演示解决方法。

答案 1 :(得分:0)

Windows窗体控件不支持真正的透明度。透明Windows窗体控件的背景由其父窗口绘制。

为您的控件提供透明的背景色 这将使您的控件能够支持透明的背景色。

SetStyle(ControlStyles.SupportsTransparentBackColor, true);

this.BackColor = Color.Transparent;