2

我的面板和奇怪的区域有问题。我用许多 es 32x32px 填充我的面板PictureBox,并且这个面板的一小块区域被白色区域填充。

这是它的样子:

在此处输入图像描述

可以看到第一个PictureBox指定了草地图片,即32x32px,但是下面的PictureBox只有一半的图片。这很奇怪。

我还onClick为 es 指定了一个事件,PictureBox以将其背景更改为其他图像。如果我点击“工作” PictureBox,它的背景会发生变化,但是当我点击“损坏”时,它不会。

所以基本上,我的问题是 - 造成这种影响的原因是什么?是否可以在不分析代码的情况下找到它?我想避免在这里放代码,因为它非常复杂且冗长。

编辑

我使用了 WinSpy++,它是结果(红点是我悬停光标的地方)所以我们可以看到它PictureBox部分隐藏在这个白色区域后面。

在此处输入图像描述在此处输入图像描述

4

1 回答 1

1

我不知道这个问题是否仍然有效,但无论如何我都会尝试回复。更多的是对它的评论,但由于我不允许发表评论,所以我只会回答。

在使用事件处理程序实现某些picutreBox绘图时,我遇到了类似的问题。onPaint问题是我pictureBox.Invalidate()在此期间打电话onPaint,导致显示不需要的白色框。如果有,您可能希望避免使用Invalidate()orRefresh()在您的onPaint事件中。

如果不是这种情况,它也可能有助于刷新已损坏的formpictureBoxes。初始化this.Refresh()后尝试调用,最好在事件处理程序中调用。formonLoadonShown

如果它仍然没有帮助,那么问题出在其他地方,我猜想有一个隐藏在某处的控件会导致这种情况。但是我们需要查看一些代码才能提出任何其他建议。

于 2013-05-11T23:19:05.510 回答