WinForms 图片框不透明

WinForms picturebox not transparent

我的 WinForms 应用程序中有 2 个 PictureBox 元素。我希望灰色 PictureBox 显示图像,它上面的那个将用作某种 canvas 来绘制矩形。但我无法让 PictureBox 一直透明,当我启动应用程序时它显示颜色,白色(或你在其中看到图片框的颜色),我已将该 PictureBox 的 BackColor 设置为透明,但它仍然不起作用。

很简单,您只需制作与第一个图片框相同大小的 canvas PictureBox 并将其位置设置为相同即可。然后设置canvas PictureBox 背景颜色为透明。现在将您的第一个 PictureBox 设置为 canvas PictureBox 的父级。

您可以在表单加载事件中编写以下代码。

pictureBoxCanvas.Size = pictureBox1.Size;
pictureBoxCanvas.Location = pictureBox1.Location;
pictureBoxCanvas.BackColor = Color.Transparent;
pictureBoxCanvas.BringToFront();
pictureBoxCanvas.Parent = this.pictureBox1;