.net – ListView的DragEnter,DragOver,DragDrop事件未引发(AllowDrop = True)

这一个很奇怪:

我的应用程序工作正常,但突然之间,这个死亡的ListView控件的事件不再被提出.它来不及没有任何明确的理由. (显然)我将AllowDrop属性设置为True并处理DragEnter,DragOver和DragDrop事件,如下所示:

Private Sub lstApplications_DragDrop(ByVal sender As Object, ByVal e As    System.Windows.Forms.DragEventArgs) Handles lstApplications.DragDrop, Me.DragDrop
    m_fileNames = CType(e.Data.GetData(DataFormats.FileDrop), String())
    mnuType.Show(Cursor.Position, ToolStripDropDownDirection.BelowLeft)
End Sub

Private Sub lstApplications_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles lstApplications.DragEnter, Me.DragEnter, lstApplications.DragOver, Me.DragOver
    If chkMode.Checked OrElse Not e.Data.GetDataPresent(DataFormats.FileDrop, True) Then
        e.Effect = DragDropEffects.None
    Else
        e.Effect = DragDropEffects.Copy
    End If
End Sub

我在这两种方法中写的代码并不重要,因为没有一个事件被提出.
有没有什么我在这里错过?

我在另一台机器上运行相同的应用程序,它工作得很好.然后我重新启动了自己的机器,一切都开始工作了.我不确定,但似乎Windows的错误.

我刚刚遇到类似问题的苦难时光.拖放工作的三个强制性要求:

>确保您的目标UI元素具有AllowDrop =“True”,您不需要整个App,只需要启用的元素.
>如果未设置背景,某些元素不会收到某些鼠标事件(包括d& d).背景=“透明”将会.
>以管理员权限运行任何程序将会拖拽.确保您没有管理员权限启动visual studio.

翻译自:https://stackoverflow.com/questions/557208/listviews-dragenter-dragover-dragdrop-event-not-raised-allowdrop-true

转载注明原文:.net – ListView的DragEnter,DragOver,DragDrop事件未引发(AllowDrop = True)