我正在准备VB.NET中的国际象棋程序。所以我想创建一个拖放事件。在拖放事件中,原始图像保持不变,并将副本放置在任何要放置的位置。在VB.NET中拖放和拖放
但我想要做的是,我想要在图像被选中后立即移除原件。任何想法我怎么能做到这一点?
我的用户界面由64个图片框组成,它们排列成8行,并且它们都有各自图片。
请帮帮我。
我正在准备VB.NET中的国际象棋程序。所以我想创建一个拖放事件。在拖放事件中,原始图像保持不变,并将副本放置在任何要放置的位置。在VB.NET中拖放和拖放
但我想要做的是,我想要在图像被选中后立即移除原件。任何想法我怎么能做到这一点?
我的用户界面由64个图片框组成,它们排列成8行,并且它们都有各自图片。
请帮帮我。
@Hans is correct;将它作为一个PictureBox做起来会容易得多。但是,如果您被困在当前使用的方法中,请更改源PictureBox上MouseMove函数中的代码,使其看起来像这样。它基本上将图像复制到变量,然后将源图像设置为Nothing。当然,如果不进行移动(将源图像恢复为nImage的值),并且在移动完成后处理变量的处理,您将必须处理。
Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As _
System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
If m_MouseIsDown Then
' Initiate dragging and allow either copy or move.
Dim iImage As Image
iImage = PictureBox1.Image
PictureBox1.Image = Nothing
PictureBox1.DoDragDrop(iImage, DragDropEffects.Copy Or _
DragDropEffects.Move)
End If
m_MouseIsDown = False
End Sub
这很好! –
你开始了这个错误,只使用*一* PictureBox。使用它的Paint事件绘制棋盘和棋子。移动一块现在很简单,只需在另一个位置绘制即可。 –
@Hans如何绘制作品? –