0

選択したインデックスから 1 行下にある画像が My.Resources.NONE と等しいかどうかをチェックするコード (pictureboxes の 2D 配列) がここにあります。次に、true の場合、2 つのインデックス間でイメージ スワップを実行します。ここでの問題は、それが正しく検出されないことです。

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 に答える