有没有办法通过ToolboxBitmap实现真正的透明度?

时间:2011-06-15 12:18:08

标签: c# visual-studio-2010 .net-4.0 user-controls toolbox

我正在使用Paint.NET为我的用户控件创建图标。我想要像32位PNG或BMPX提供的那样具有适当的透明度。有没有办法实现这一目标?查看工具箱,常规Label控件似乎确实使用了完全透明的图标(除非MS假设始终是白色工具箱背景?)。

目前我将我的图标嵌入编译为嵌入资源的位图,并使用ToolboxBitmapAttribute(Type, String)构造函数。我尝试使用ICO或PNG或BMPX,但这些都没有工作,甚至没有显示,而是显示简单的BMP(使用左下角像素颜色作为透明颜色)。

1 个答案:

答案 0 :(得分:3)

内置的Winforms工具箱位图使用Color.Fuchsia作为背景颜色。作为Bitmap.MakeTransparent()颜色的一个非常标准的选择,它是一种漂亮的彩色颜色,不太可能在图像的其余部分导致意外的透明度。这是Label控件的一个,从System.Windows.Forms.dll程序集中检索:

enter image description here

在上传时变成了PNG,它实际上是一个BMP。