【问题标题】:Listview drag and drop has no visual highlight on the destinationListview拖放在目标上没有视觉突出显示
【发布时间】:2018-08-31 08:17:29
【问题描述】:

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

【问题讨论】:

标签: c# winforms drag-and-drop


【解决方案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;
      }                                
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-17
    • 1970-01-01
    • 2014-10-17
    • 2013-02-04
    • 1970-01-01
    • 2012-05-19
    • 2012-01-05
    • 1970-01-01
    相关资源
    最近更新 更多