【发布时间】:2012-08-21 18:12:37
【问题描述】:
可能重复:
A PictureBox Problem
我有一个TabPage,它承载了一些自定义的PictureBox 控件。我在这里所做的是绘制一些 IC 封装,用户可以单击它们的引脚来获取一些信息。用户可以在标签页中添加多个这样的图片框并在标签页中移动它们。
我的问题是这个图片框是透明的,只有当它们不相互重叠时。在下图中,您可以看到两个添加到标签页的图片框。标签页的背景是蓝色的,其实不管它是什么颜色,图片框的未绘制区域都会对标签页透明:
但是一旦我将这些图片框中的任何一个移到另一个上方,它就不再透明了:
这是生成原始Image 的代码,我将使用它:
//Setting up image area
Image = new Bitmap(requiredImageWidth, requiredImageHeight, PixelFormat.Format32bppArgb);
Image.MakeTransparent();
其余的都是默认设置,我没有更改任何其他内容。您认为导致这种行为的原因是什么?
【问题讨论】:
-
它不会在移动时重绘背景。尝试在图片框移动时调用
Image.MakeTransparent();。但是调用它可能会很昂贵,而且我的猜测图片会闪烁。 -
另外this 可能很有趣
标签: c# winforms transparency picturebox