比较PictureBoxes的2D数组中的图像

时间:2013-04-26 15:20:48

标签: arrays vb.net comparison 2d picturebox

我在这里有一些代码(2D图像框数组),用于检查属于所选索引的一行的图像是否等于My.Resources.NONE。然后,如果为true,它将在两个索引之间执行图像交换。这里的问题是它从未正确检测到它。

If mypic(x + 1, y).Image Is My.Resources.NONE Then
        mypic(x + 1, y).Image = mypic(x, y).Image
        mypic(x, y).Image = My.Resources.NONE
End If

如果我删除了If语句,它在我点击的所有图像上都能正常工作。我的问题是,如果所选图像下面的图像的图像值为My.Resources.NONE,我只想让它执行交换。知道为什么这不起作用吗? If语句似乎永远不会是真的,即使它看起来好像应该是。

更新:

我停止使用My.Resources.NONE,只是开始使用“Nothing”

If mypic(x + 1, y).Image Is Nothing Then
        mypic(x + 1, y).Image = mypic(x, y).Image
        mypic(x, y).Image = Nothing
End If

除if语句中的第一行外,它现在有效。它没有设置mypic(x + 1,y).Image到mypic(x,y).image。

1 个答案:

答案 0 :(得分:0)

发现问题了!我没有在开始时将空白的一个添加到面板中。傻傻的我!

Me.Controls.Add(mypic(r, c))
mypic(r, c).BringToFront()