我正试图从listview1中拖拽并放到listlocal中,这两个都是listview
它是客户端和服务器之间的文件传输应用程序,应用程序显示小型本地文件资源管理器listlocal和远程文件资源管理器listview1。因此,当我将项目从ListView1拖放到ListLocal时,指针指向项目[文件夹]时,应该突出显示item.Selected = true
。
但它不起作用,我试着去做listLocal.Focus
而listLocal.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