在VB.NET中拖放

时间:2012-07-02 16:24:30

标签: vb.net

我正在准备VB.NET中的国际象棋程序。所以我想要创建的是一个拖放事件。在拖放事件中,原始图像保持不变,副本将放置在您要放置的位置。

但我想要做的是,我想在拍摄图像后立即删除原件。知道我该怎么办?

我的用户界面由64个排列成8行的图片框组成。它们都有各自图片。

请帮帮我。

1 个答案:

答案 0 :(得分:1)

@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