我可以在WinForms中的PictureBox上创建透明背景吗?

时间:2011-02-13 11:03:41

标签: c# winforms transparent picturebox

我想让PictureBox控件的背景透明。在PictureBox(矩形)中,我放置了一个图标(圆形)。我想让图标透明,以便图标下方的其他部分可见。

我尝试将PictureBox.BackColor属性设置为“透明”,但它不起作用。我还尝试在运行时使用Color.FromArgb方法设置它,但它也不起作用。

这个问题有解决办法吗?

3 个答案:

答案 0 :(得分:4)

设置pictureBox.BackColor = Color.Transparent;肯定应该有用。

使用Color.FromArgb(0, 0, 0, 0)时,还要验证是否设置了alpha通道颜色; (这是第一个参数,零表示透明色)

当然,请确保您的图标具有透明背景。

答案 1 :(得分:2)

如果使用WinForms,则将背景颜色设置为透明将不起作用,因为透明度处理不是级联系统 - 您只能(在大多数情况下)设置整体控件的透明度(或者说不透明度)使用Opacity属性,但这将改变整个控制显示的alpha通道,为您的图像提供一个看得见的。

一种解决方案可能是将PictureBox的背景颜色设置为其下方控件的背景颜色(例如,表单的颜色)。但在你的情况下这可能还不够。

答案 2 :(得分:0)

您必须使用此

在图标下方的其他部分设置图标

icon_pictureBox_name.Controls.Add(other_portion_picturBox_name);

然后你可以将PictureBox.BackColor属性设置为" Transparent"它会起作用;)