如何在透明重叠控件中显示背景控件?

时间:2012-10-12 04:38:02

标签: winforms

我正在构建一个包含两层控件的表单。底层是一组具有已定义属性的面板,其中一个是与表单背景不同的颜色。顶层是我用来显示圆圈的一组图片框。我已经将PictureBox背景设置为Color.Transparent,并且我将它从底层Panel偏移了一个像素,以获取绘制底层Panel的表单。但是,PictureBox中圆圈周围的区域显示“表单背景”颜色,而不是面板颜色。我不想在面板中绘制圆圈,因为我希望圆圈在面板之间移动,实际上看起来就像一个浮动在整个表单上的圆圈,独立于下面的面板。想象一下在棋盘游戏中移动棋子的效果(你看到钉子在棋盘上移动,可能是在对角线上没有跟随正常游戏路径,然后停在游戏中的某个位置)。

如何让PictureBox让底层表单和面板显示出来,而不仅仅是表单背景颜色?我正在使用C#Visual Studio 2010,而且我不是一个非常有经验的程序员,所以代码示例会有所帮助。表格的图像位于:

http://www.imageurlhost.com/images/salgmpcxvcz830c3flt.jpg

1 个答案:

答案 0 :(得分:0)

找到解决问题的方法。我删除了面板中的游戏空间,而是将它们绘制为表格背景图像上的矩形。