PictureBox与透明背景

Sae*_*ani 2 c# transparency picturebox winforms

可能重复:
PictureBox问题

我有一个TabPage托管一些自定义控件PictureBox.我在这里做的是绘制一些IC封装,用户可以点击它们的针脚来获取一些信息.用户可以将多个此图片框添加到标签页,并在标签页中移动它们.

我的问题是这个图片盒是透明的,只有当它们没有相互叠加时.在下图中,您会看到其中两个图片框已添加到标签页.标签页有蓝色背景,事实上,无论它有什么颜色都没关系,图片框将有不透明的区域对标签页透明:

在此输入图像描述

但是,只要我将任何一个图片框移到另一个图片框上面,它就不再是透明的了:

在此输入图像描述

这是生成raw的代码,Image我将在其上绘制:

    //Setting up image area
    Image = new Bitmap(requiredImageWidth, requiredImageHeight, PixelFormat.Format32bppArgb);
    Image.MakeTransparent();
Run Code Online (Sandbox Code Playgroud)

其余的是默认设置我没有改变任何其他.您认为导致这种行为的是什么?

Nas*_*ine 6

从这篇文章中,这是导致此行为的原因:

WinForms中的透明控件相对于其父级是透明的,而不是其他控件.WinForms中的透明度更像伪装而非真正的透明度.透明控件实际上不会让您通过表单看到它背后的控件.它要求其父母在"透明"控件上绘制自己的背景.这就是透明控件显示其背后的形式,但掩盖任何其他控件的原因.

这里有一个可接受的问题答案(PictureBox问题)