【问题标题】:Dictating Panel and PictureBox Transparency Order听写面板和图片框透明度顺序
【发布时间】:2018-05-28 02:02:53
【问题描述】:

我需要一些帮助来理解 Windows 窗体中的透明度顺序。我创建了一个简单的表单,上面没有任何内容,称为测试。

在表单的构建中,我创建了一个面板和一张图片,如下所示:

public partial class test : Form
{
    public test()
    {
        InitializeComponent();
        //create a panel
        Panel panel = new Panel();
        panel.Location = new Point(10, 10);
        panel.Size = new Size(100, 100);
        panel.BackColor = Color.FromArgb(255, 0, 0);
        panel.Show();
        //put panel on screen
        this.Controls.Add(panel);

        //create a picture box
        PictureBox picture = new PictureBox();
        picture.ImageLocation = "../myPicture2.png";

        picture.Location = new Point(20, 20);
        picture.Size = new Size(100, 100);
        picture.BackColor = Color.Transparent;
        picture.Show();
        this.Controls.Add(picture);

        picture.BringToFront();


    }
}

一开始我使用的图片是myPicture1.png,一张白色背景的图片给了我这个结果。

但后来我用 gimp 裁剪了白色背景,使其成为透明背景。

但是,现在显示的是表单的背景而不是面板。

当我将此 PictureBox 放在面板顶部时,我试图将面板的背景颜色保持在图像后面。

像这样:

有人可以向我解释如何在图片框中的透明图像后面获得面板背景的预期结果吗?一如既往地非常感谢所有建议!

【问题讨论】:

  • 这个问题是不是因为picturebox在form上而不是在panel里面?
  • 哦,哇,那是我做错了。谢谢Crimson,我现在真的很傻:S。如果您想提出我可以选择的答案,因为您帮助了我:)

标签: c# winforms panel transparency picturebox


【解决方案1】:

这个问题是不是因为图片框在窗体上而不是在面板里面?

panel.Controls.Add(picture);

【讨论】:

    猜你喜欢
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-13
    相关资源
    最近更新 更多