我正在 VB.NET 中准备一个国际象棋程序。所以我想要创建的是一个拖放事件。在拖放事件中,原始图像保持不变,副本放置在您想要放置的任何位置。
但我想做的是,我想在选择图像后立即删除原件。知道我该怎么做吗?
我的用户界面由 64 个图片框组成,每行 8 个。它们上面都有各自的图片。
请帮我。
我正在 VB.NET 中准备一个国际象棋程序。所以我想要创建的是一个拖放事件。在拖放事件中,原始图像保持不变,副本放置在您想要放置的任何位置。
但我想做的是,我想在选择图像后立即删除原件。知道我该怎么做吗?
我的用户界面由 64 个图片框组成,每行 8 个。它们上面都有各自的图片。
请帮我。
@Hans 是正确的;将其作为一个 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