Listview拖放在目的地没有视觉突出显示

我是旧版 win 表单应用程序的新手。它有一个包含文件和文件夹结构的列表视图。我想允许用户将文件拖到一个文件夹中。当我这样做时,我想找到目的地(为此,我会在 x 和 y 处找到项目),但还要向用户提供他们将其放在文件夹中的视觉表示(例如在 Windows 资源管理器中)。


largeQ
浏览 158回答 1
1回答

小怪兽爱吃肉

在 private void myListView_DragOver(object sender, DragEventArgs e) 我调整了你评论中的代码@HansPassantvar wPos = this.myListView.PointToClient(new Point(e.X, e.Y));var targetItem = myListView.GetItemAt(wPos.X, wPos.Y);if (targetItem != null){      var targetNodeInfo = targetItem.Tag as WindowsExplorerModel;      if (targetNodeInfo != null)               //if dropping on a target item      {           if (targetNodeInfo.isFile)                               e.Effect = DragDropEffects.None;//if IsFile                               else           {                foreach (ListViewItem listItem in myListView.SelectedItems)                        listItem.Selected = false;                targetItem.Selected = true;                e.Effect = DragDropEffects.Copy;            }            return;      }                                }
打开App,查看更多内容
随时随地看视频慕课网APP