【发布时间】:2014-07-13 06:54:35
【问题描述】:
PNG 图像具有透明部分,我希望此图像作为我的表单的背景。
我已将ControlStyles.SupportsTransparentBackColor 设置为true 并使用this.BackColor = Color.Transparent; 但这根本不起作用,当我启动应用程序时,背景颜色显示为纯灰色。即使我在 Properties->Appearence 中将 BackColor 设置为 Transparent。我可以在表单设计预览中看到它是透明的,但是当我启动应用程序时它仍然显示为纯灰色。
使用TransparencyKey 也给了我一个不好的结果——PNG 图像的半透明像素变成了TransparencyKey 颜色,我不能为TransparencyKey 使用透明颜色。寻求帮助。
例子:
http://i.stack.imgur.com/u9p6N.jpg
【问题讨论】:
-
iv'e 在问题中添加了图像,因此您可以使用 TransparencyKey 看到问题
-
您需要逐像素的 Alpha 透明度,Winforms 不直接支持,因为它与工具箱中的许多控件不兼容。由 Windows 实现的那种,它们也变得透明。使用 WPF 窗口是合乎逻辑的方法。
标签: c# winforms background visual-studio-2013