【问题标题】:how to highlight an item in listview?如何突出显示列表视图中的项目?
【发布时间】:2012-05-09 19:15:28
【问题描述】:

我正在尝试从 listView1 拖放到 listLocal 它们都是 ListView
它是客户端和服务器之间的文件传输应用程序,该应用程序显示小型本地文件浏览器 listLocal 和远程文件浏览器 listView1
所以当我从 listView1listLocal 并且指针指向项目[Folder] 它应该突出显示item.Selected = true
但它不起作用,我尝试做listLocal.FocuslistLocal.Select 仍然不起作用,我怎样才能让它起作用?

注意:当我使用 item.BackColor = Color.RoyalBlue; 时,它可以工作,但它没有突出显示图标。

   private void listLocal_DragOver(object sender, DragEventArgs e)
   {
      if (!e.Data.GetDataPresent(typeof(ListViewItem))) return;
      Point p = listLocal.PointToClient(MousePosition);
      ListViewItem targetItem = listLocal.GetItemAt(p.X, p.Y);
      if (targetItem != null)               //if dropping on a target item
      {
        targetItem.Selected = true;
        if (targetItem.SubItems.Count > 1) e.Effect = DragDropEffects.None;//if IsFile
        else e.Effect = DragDropEffects.Copy;
        return;
      }
      foreach (ListViewItem item in listLocal.Items) item.Selected = false; //if dragging into current address
      e.Effect = DragDropEffects.Copy;
    }

【问题讨论】:

  • 将 HideSelection 属性设置为 False
  • @HansPassant 已解决。谢谢人
  • @HansPassant 您应该发布您的评论作为答案,让问题被标记为已回答!对吗?

标签: c# winforms listview highlight


【解决方案1】:

将 HideSelection 属性设置为 False

【讨论】:

    【解决方案2】:

    您可以尝试处理 DragOver 方法。 或者看看微软的例子:MSDN

    【讨论】:

    • 虽然这个链接可能会回答这个问题。将答案的重要部分放在帖子中很重要。 from Review
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-03
    • 2012-11-21
    • 2016-02-26
    • 2013-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多