VB.NET创建一个类,使选定的picturebox可以用鼠标移动

VB.NET创建一个类,使选定的picturebox可以用鼠标移动,vb.net,mouse,Vb.net,Mouse,我正在使用VB.NET(VS2015)进行一个项目。我将要制作很多可移动的图标,因此,我需要加快制作过程 我想创建一个类,我可以使用它使图片框可以用鼠标移动 例如,Make_可移动(图1,标签1) “label1”是它下面的标签。我已经有了这方面的代码。我只是让它隐形,让它再次可见。(经过测试和工作) 注意:我只需要移动picturebox!我已经有了标签的代码,但为此我需要能够移动picturebox 可能吗 我唯一能想到的是: Dim capt = 0 Dim a Dim b Public

我正在使用VB.NET(VS2015)进行一个项目。我将要制作很多可移动的图标,因此,我需要加快制作过程

我想创建一个类,我可以使用它使图片框可以用鼠标移动

例如,
Make_可移动(图1,标签1)

“label1”是它下面的标签。我已经有了这方面的代码。我只是让它隐形,让它再次可见。(经过测试和工作)

注意:我只需要移动picturebox!我已经有了标签的代码,但为此我需要能够移动picturebox

可能吗

我唯一能想到的是:

Dim capt = 0
Dim a
Dim b

Public Sub IMMove(lbl, pb)
    If capt = 1 Then
        lbl.Visible = False
        pb.Location = New Point(pb.Location.X + (Cursor.Position.X - a), pb.Location.Y + (Cursor.Position.Y - b))
    End If
End Sub

Public Sub IMDown(lbl, pb)
    a = Cursor.Position.X
    b = Cursor.Position.Y
    capt = 1
End Sub

Public Sub IMUp(lbl, pb)
    pb.Location = New Point(pb.Location.X + (Cursor.Position.X - a), pb.Location.Y + (Cursor.Position.Y - b))
    capt = 0

    lbl.Visible = True
    lbl.Location = New Point(lbl.Location.X, lbl.Location.X - (lbl.Width + lbl.Width / 2) + lbl.Width + lbl.Width / 3)
    lbl.Location = New Point(lbl.Location.Y, pb.Location.Y + pb.Height)
End Sub
但这不起作用,picturebox只是消失了,我必须为每个活动做些事情。例如,在picturebox1.MouseDown中:
IMDown(Me,picturebox1,label1)


请帮助:)

CodeProjects上已经有这样一个beast。从您的代码中,您对该对象不做任何操作。您希望为控件利用MouseMove、MouseDown和MouseUp事件。:)查看这篇文章,它将详细解释如何对标签(轻松修改为picturebox)实现您想要的功能:这似乎是我一直在寻找的!谢谢。我没有工作:/VS2005/VS2008的代码应该仍然兼容。