0

我这里有一些代码(图片框的二维数组),用于检查属于所选索引下一行的图像是否等于 My.Resources.NONE。如果为真,它然后在两个索引之间执行图像交换。这里的问题是它永远无法正确检测到它。

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。

4

1 回答 1

0

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

Me.Controls.Add(mypic(r, c))
mypic(r, c).BringToFront()
于 2013-04-26T16:04:47.250 回答