我有一个背景图像,然后我想加载其他几个人。每张图片都是带有Alpha通道的png,其中不同区域不透明。C#:创建一个PictureBox的堆栈
我在表单上放置了一个PicureBox。然后在代码:
private List<PictureBox> layers = new List<PictureBox>();
for (int l = 0; l < 11; l++)
{
Image i = (Image) Properties.Resources.ResourceManager.GetObject(l.ToString());
PictureBox b = new PictureBox
{
Parent = form_picture,
Image = i,
Dock = DockStyle.Fill,
SizeMode = PictureBoxSizeMode.Zoom,
BackColor = Color.Transparent
};
//b.BringToFront();
layers.Add(b);
}
其中“form_picture”是在窗体上放置图片框,和我的资源图像命名0,1,2..10。
它只显示第一个图像或最后一个图像(将注释移除到BringToFront方法)。 这似乎不是一个透明度问题,因为我正确地看到了背景图像,但只有上层的第一个或最后一个不透明区域。
恐怕我没有正确使用这些属性。
是的。事实上,如果我互相重新组合(即0到背景,1到0,2到1等),我会在透明区域看到所有不透明区域(如预期的那样)和背景图片。但我现在不能隐藏一个(它会隐藏所有的孩子) – Mark
@someone:https://stackoverflow.com/questions/19910172/how-to-make-picturebox-transparent – Mark