图片框中的图片框

4
这是关于C#编程的问题,我对这种编程语言很陌生,也不了解其他语言,但我想要实现的是,将一个picture box作为背景,并在其上叠加另一个picture box,透明部分应该显示在它后面的picture box。我已经成功地实现了一个透明的picture box,但问题是它只显示窗体的背景颜色,而不是后面的picture box。有谁能帮忙吗?
换言之,一个picture box放在另一个picture box的上面,但可以透过第一个picture box看到后面的picture box。
先感谢您的帮助。

不必使用两个图片框,你可以创建一个自定义控件并重写绘制方法,这样你就可以更自由地绘制这两个图像,使其具有更多的选项和更少的复杂性。 - caesay
2个回答

1

进入项目 -> 添加用户控件。 给该用户控件设置背景图片。 将您的PictureBox拖放到用户控件上。使PictureBox的背景色透明。 构建项目。

在设计器中,您应该能够将新的用户控件拖放到表单上。 这将实现您想要的效果。


好的,我不确定我是否正确理解了你的解决方案,但是你想让我做的是将顶部的图片框的图像设置为背景,并将底部的图片框的图像设置为图像?因为这对我来说不起作用。 - user1391293
嗯,透明部分似乎只显示了表单的背景,而不是另一个图片框的背景。 - user1391293
你说的“添加”,是什么意思? - user1391293
你能给我一个例子吗?比如说picturebox1在上面,picturebox2在下面。非常抱歉让你这么麻烦 >.< - user1391293
我该如何拖动新的用户控件?:$ - user1391293
工具 > 选项 > Windows 窗体设计器 > 常规 : AutoToolboxPopulate --> True。 在设计器视图中查看表单时,您创建的用户控件应出现在工具箱中。确保已构建解决方案--> 'F6'。 - theUser

0

为了背景,您可以使用图形。在您的表单上视觉化地构建一个绘画事件:

private void Form1_Paint(object sender, PaintEventArgs e)
{
    Graphics g = e.Graphics;
    g.DrawImage(Image.FromFile("address of image"), 0, 0, this.Width, this.Height);
}

它将为表单着色,您无需使用picturebox作为背景。


是的,我知道这一点,但这不是我想要实现的,因为我想要两个交互的图片框,并且我已经为表单设置了背景。 - user1391293

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接