半透明的窗户形成

时间:2016-08-14 15:20:31

标签: c# winforms

我想要的样子就像 Attempt其中侧边栏是半透明的,可以看到背景。但是TransparencyKey只考虑顶部的像素,如果顶部有另一个面板,这意味着它们一起不适合透明度键,那么它将是不透明的。

我将TransparencyKey设置为Fuchsia,葡萄柚侧边栏位于顶部,并在加载时更改为sidebar.BackColor = Color.FromArgb(128,255,255,255);

Attempt

如您所见,TransparencyKey仅适用于顶部 我还尝试在表单上设置透明度,但效果不理想。

如何使侧边栏变得半透明?

Solution v

2 个答案:

答案 0 :(得分:2)

你不能在winforms中做到这一点。期。这是一种过时的技术,不支持“真正的”透明度。每当您看到“透明”这个词时,它实际上意味着您的控件将继承其父级的背景颜色。这并不意味着你可以看到它背后的东西。

可以能够用WPF做到这一点,虽然我不完全确定。

答案 1 :(得分:1)

正如@JeremyThompson所说,WPF完全可以做到这一点。

窗口内包含WindowStyle="None" AllowsTransparency="True" Background="Transparent",然后正常使用面板/画布。

Working form!