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

Winforms 如何在透明重叠控件中显示背景控件?,winforms,Winforms,我正在构建一个包含两层控件的窗体。底层是一组具有定义属性的面板,其中一个属性是与表单背景不同的颜色。顶层是我用来显示一个圆圈的一组图片框。我已将PictureBox背景设置为Color.Transparent,并将其与基础面板偏移一个像素,以获得绘制基础面板的表单。但是,PictureBox中圆圈周围的区域显示的是窗体背景色,而不是面板颜色。我不想在面板上画圆圈,因为我想让圆圈在面板之间移动,实际上看起来就像是一个漂浮在整个形状上的圆圈,与下面的面板无关。想象一下在棋盘游戏中移动一块棋子的效果,

我正在构建一个包含两层控件的窗体。底层是一组具有定义属性的面板,其中一个属性是与表单背景不同的颜色。顶层是我用来显示一个圆圈的一组图片框。我已将PictureBox背景设置为Color.Transparent,并将其与基础面板偏移一个像素,以获得绘制基础面板的表单。但是,PictureBox中圆圈周围的区域显示的是窗体背景色,而不是面板颜色。我不想在面板上画圆圈,因为我想让圆圈在面板之间移动,实际上看起来就像是一个漂浮在整个形状上的圆圈,与下面的面板无关。想象一下在棋盘游戏中移动一块棋子的效果,你看到木钉在棋盘上移动,可能是在对角线上,而不是沿着正常的游戏路径移动,然后停在游戏中的某个地方

我怎样才能让PictureBox显示底层的表单和面板,而不仅仅是表单背景色?我使用的是C Visual Studio 2010,而且我不是一个经验非常丰富的程序员,所以一个代码示例会很有帮助。表格的图像位于:


找到了解决问题的方法。我去掉了游戏中空间的面板,取而代之的是在窗体的背景图像上画成矩形