.NET 中执行拖放操作(drag-and-drop)时如何开启鼠标指针效果?

Posted by NosaLee in .NET Programming on 03-11-2013. Tags: , , , , , , , ,

© 牧山道人,转载请注明原文网址。
_____________________________________

当我们将某控件的 AllowDrop 属性设为 True 之后,即可在其 DragDrop 事件中对拖放动作进行编码。

但这里有个很重要的问题:
只是改变 AllowDrop 属性,用户将对象(文件、文件夹等)拖放进该控件时,鼠标指标仍然是禁止状态,用户只能认为该控件不支持拖放,而你实际上为拖放操作编写了代码。

此时,这段代码理论上有效,但实际上没作用。

怎么解决这个问题呢?很简单:
在该控件的 DragEnter 事件(拖进时)中编写以下代码即可:
e.Effect = DragDropEffects.All
即,将拖放操作的效果全部打开。

以一个 ListView 的 DragEnter 事件代码举例如下:

1
2
3
4
Private Sub lv_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) _
   Handles lv.DragEnter
   e.Effect = DragDropEffects.All
End Sub

Post a comment