在.NET Framework中,拖放操作是通过一组事件来实现的。通常,它开始于一个控件的MouseDown事件,终止于另一个控件的DragDrop事件。
首先要新建一个Windows应用程序。为窗体添加2个列表框,并使用Items属性设计器为第—个列表框添加3个列表项。该应用程序允许将一个列表框中的项拖到另一个列表框中。
进行拖放操作的第一步,是指定控件是否接受“放”操作。默认情况下,所有的控件都拒绝这种行为,对于用户将某些对象拖放到它们上面的任何尝试,不会作出响应。在这个例子中,我们将第二个列表框(即没有添加项的列表框)的AllowDrop属性设置为True。
下一步是调用拖放操作口使用DoDragDrop方法(但不限于这么做),在包含了要拖动数据的控件的MouseDown事件中进行。DoDragDrop方法定义了要拖动的数据和拖动的类型口在本例中将拖动所选列表框项的文本,允许对数据执行移动和复制操作。
切换到窗体的代码窗口,为ListBox1的MouseDown事件添加如下代码:
Private Sub ListBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDown
Dim DragDropResult As DragDropEffects
If e.Button = Windows.Forms.MouseButtons.Left Then
DragDropResult = ListBox1.DoDragDrop( _