C# 图片盒吸收形式';背景色
我正在创建一个国际象棋游戏,但我有一个问题,因为你可以看到棋子吸收了窗体的背景。棋盘是在运行时创建的。它只是一堆C# 图片盒吸收形式';背景色,c#,image,winforms,controls,transparency,C#,Image,Winforms,Controls,Transparency,我正在创建一个国际象棋游戏,但我有一个问题,因为你可以看到棋子吸收了窗体的背景。棋盘是在运行时创建的。它只是一堆Picturebox,带有已编辑的BackColor属性。这些作品也是Picturebox如果它们自己的图像是.png格式并且有一个透明的背景,那么它们的Picturebox也有一个透明的背景色,我如何才能去除这种颜色吸收?表单也是双缓冲的。我已经尝试了这里推荐的各种方法,比如实现我自己的picturebox和覆盖背景绘制事件,但是这不会改变任何东西。。pictureboxs父控件是表
Picturebox
,带有已编辑的BackColor
属性。这些作品也是Picturebox
如果它们自己的图像是.png格式并且有一个透明的背景,那么它们的Picturebox
也有一个透明的背景色
,我如何才能去除这种颜色吸收?表单也是双缓冲的。我已经尝试了这里推荐的各种方法,比如实现我自己的picturebox和覆盖背景绘制事件,但是这不会改变任何东西。。pictureboxs父控件是表单本身。当然,如果这些字段是单独的框,则这些片段不应具有透明的背景颜色,尤其是当您想将它们移动到字段之间的边界上时,这是一个坏主意。。更好的方法是:在一个普通的板控件上绘制这些字段,并将这些部分嵌套在板中!因为对于重叠控件来说,这是不合适的,所以这几乎是唯一的方法。除非你想在每一步都画背景,否则如果它们在两个字段之间会发生什么?它们是通过拖动移动的,因此它们不能放在两个字段之间,但它们可以在拖动它们时在那里停留几秒钟。请参阅我的最新评论。恐怕我不确定什么是通用板控制。你是说一个大面板,但所有的图片都在里面吗?是的。一个大控件,可能是一个图片盒。在绘制事件中绘制32个正方形或选择一个漂亮的板图像。然后将每一块嵌套在其中:piece01.Parent=yourBoard代码>。。。请注意,至少对于PictureBox,您需要在代码中执行此操作,而不是在设计器中!如果选择面板,请使用双缓冲子类。(表单的双缓冲区对任何其他控件都没有帮助。)当然,如果这些字段是单独的框,则片段不应具有透明的背景颜色,尤其是当您想将其移动到字段之间的边界上时,这是一个坏主意。。更好的方法是:在一个普通的板控件上绘制这些字段,并将这些部分嵌套在板中!因为对于重叠控件来说,这是不合适的,所以这几乎是唯一的方法。除非你想在每一步都画背景,否则如果它们在两个字段之间会发生什么?它们是通过拖动移动的,因此它们不能放在两个字段之间,但它们可以在拖动它们时在那里停留几秒钟。请参阅我的最新评论。恐怕我不确定什么是通用板控制。你是说一个大面板,但所有的图片都在里面吗?是的。一个大控件,可能是一个图片盒。在绘制事件中绘制32个正方形或选择一个漂亮的板图像。然后将每一块嵌套在其中:piece01.Parent=yourBoard代码>。。。请注意,至少对于PictureBox,您需要在代码中执行此操作,而不是在设计器中!如果选择面板,请使用双缓冲子类。(表单的双缓冲区将不会帮助任何其他控件。)