有3个问题:
1.ListView拖动时,高亮显示目标项。(有人说通过句柄,真的需要那么麻烦么。)
2.TreeViw拖动时,高亮显示目标节点。(找了很多资料,有人说在Treeview中有这样一个函数:Setdrophighlight(),结果我用TreeView怎么也点不出来。汗。)
3.TreeView节点多选。大家有思路的给思路,有代码的贴代码哈。

解决方案 »

  1.   

    1.用了ListView的DragOver事件(对象拖过控件的边界时发生,这里指的控件是指你拖动Listview的某一项或几项),触发事件后通过鼠标坐标获取目标项,
    Point targetPoint = this.lvItemList.PointToClient(new Point(e.X, e.Y));
                ListViewItem targetItem = this.lvItemList.GetItemAt(targetPoint.X, targetPoint.Y);
    获取目标项后,加点业务逻辑判断。最后如果拖拽出ListView后用DragOver事件来取消之前高亮目标选中项。
    2.基本同上。
    3.参考http://www.cnblogs.com/peterzb/archive/2009/06/08/1499131.html