2016-08-14 141 views
1

我要去的外观就像 Attempt其中侧边栏是半透明的,背景可以看透。但是TransparencyKey只考虑顶部的像素,如果顶部有另一个面板意味着它们不适合透明度键,那么它将是不透明的。半透明窗体形式

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

Attempt

正如你所看到的TransparencyKey仅适用于顶部。
我也尝试在窗体上设置透明度,导致不希望的结果。

我会如何让侧栏变成半透明的?

Solution v

+0

WPF看起来像你最好的选择 –

+0

@JeremyThompson谢谢,WPF完美的作品。 – Skylark

+0

如果WPF适用于:FINE!在winforms中,下一个最好的事情是不透明度略微降低。 – TaW

回答

2

你不能这样做,在的WinForms。期。这是一种陈旧的技术,不支持“真实”的透明度。只要你看到“透明”一词,就意味着你的控件将会继承父项的背景颜色。这并不意味着你可以看到背后的东西。

可能能够用WPF做到这一点,尽管我并不完全确定。

+0

谢谢,我试过后就怀疑过了,谢谢你清理它。 – Skylark

+1

WPF是解决方案,WindowStyle =“None”AllowsTransparency =“True”Background =“透明”在窗口上。 – Skylark

1

正如@JeremyThompson所指出的那样,WPF在做这件事时绝对没问题。

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

Working form!