【问题标题】:Overlapping PicuresBox with transparent background具有透明背景的重叠 PicuresBox
【发布时间】:2012-12-22 04:13:47
【问题描述】:

我想让两个或更多重叠的PictureBox 具有透明背景,但如果我这样做,我只会看到一个图像:

我这样创建我的PictureBoxes:

PictureBox pb1 = new PictureBox();
pb1.Size = new Size(32, 32);
pb1.Location = new Point(0,0);
pb1.Image = Image.FromFile("../Graphics/Grounds/ground.png");
pb1.Visible = true;

PictureBox pb2 = new PictureBox();
pb2.Size = new Size(32, 32);
pb2.Location = new Point(0,0);
pb2.Image = Image.FromFile("../Graphics/Grounds/human.png");
pb2.Visible = true;

稍后我将这两个PictureBoxes 添加到我的Panel

panel1.Controls.Add(pb1);
panel1.Controls.Add(pb2);

那为什么只显示一个PictureBox

【问题讨论】:

标签: c# winforms image picturebox


【解决方案1】:

如果你的 human.png 有透明背景:

pb2.BackColor = Color.Transparent;

【讨论】:

  • 不,这里的主要问题是人类图片框应该作为groundPicBox的子控件插入,如stackoverflow.com/a/9158849/838405和Hans Passant回答中所报告的那样
【解决方案2】:

尝试将panel1.Controls.Add(pb2);更改为pb1.Controls.Add(pb2);
确保将正确的位置设置为 pb1 是容器

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-30
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    • 1970-01-01
    • 2018-05-31
    • 2011-07-13
    • 1970-01-01
    相关资源
    最近更新 更多