为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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

1 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

在 private void myListView_DragOver(object sender, DragEventArgs e) 我调整了你评论中的代码@HansPassant


var 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;

      }                                

}


查看完整回答
反对 回复 2021-12-25
  • 1 回答
  • 0 关注
  • 157 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信