从TransparencyKey中排除PictureBox

时间:2012-05-01 19:52:33

标签: c# .net winforms transparency picturebox

我有一个表单TransparencyKey = Color.White,backColor = Color.White和一个PictureBox,其中包含一个白色部分的图像。是否有可能不使PictureBox在白色部分透明?

见图像
enter image description here

如果不可能,任何替代解决方案......

1 个答案:

答案 0 :(得分:1)

如果需要WinForms:

将文本更改为255,255,254或更改透明度键。我建议使用品红色(255,0,255)来获得透明度,因为这是一种你不太可能需要显示的颜色。

如果你可以使用WPF:

WPF不仅支持开/关透明度。您可以使用渐变,抗锯齿等透明度。您需要做的就是将Window上的AllowTransparency属性设置为true,并为Window背景使用透明/半透明。

我认为在你的情况下最好的方法是让Window的背景透明,并将控件放在它上面。您还可以使用32bpp的PNG图像,因为它支持全范围的透明度。