/// <summary>
/// 当拖动某项时触发
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void listView1_ItemDrag(object sender, ItemDragEventArgs e)
{
listView1.DoDragDrop(e.Item, DragDropEffects.Move);
} /// <summary>
/// 鼠标拖动某项至该控件的区域
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void listView1_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
} /// <summary>
/// 拖动时拖着某项置于某行上方时
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void listView1_DragOver(object sender, DragEventArgs e)
{
Point ptScreen = new Point(e.X, e.Y);
Point pt = listView1.PointToClient(ptScreen);
ListViewItem item = listView1.GetItemAt(pt.X, pt.Y);
if (item != null)
item.Selected = true;
} /// <summary>
/// 结束拖动
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void listView1_DragDrop(object sender, DragEventArgs e)
{
ListViewItem draggedItem = (ListViewItem)e.Data.GetData(typeof(ListViewItem));//旧目标
Point ptScreen = new Point(e.X, e.Y);
Point pt = listView1.PointToClient(ptScreen);
ListViewItem TargetItem = listView1.GetItemAt(pt.X, pt.Y);//新目标
if (null == TargetItem)
{
return;
}
if (MessageBoxEx.Show("[" + draggedItem.Text + "]转至[" + TargetItem.Text + "]", "询问",
MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
{
var item = draggedItem.Tag as View_TableListModel;
int tableid = item.ID; }
//listView1.Items.Insert(TargetItem.Index, (ListViewItem)draggedItem.Clone());
//listView1.Items.Remove(draggedItem);
}

C# listview 拖动节点的更多相关文章

  1. listview 拖动item效果实现

    listview 拖动item效果实现 效果图如下: 拖拽前: 拖拽后: 首先参考源码中:TouchInterceptor 类,该类会在下面给出: 第一步:主类: /**  *   */ packag ...

  2. ListView添加节点

    ListView插入节点的流程 当ListView控件的样式被设置成report时,ListView控件实际上是分为两个部分, 一部分是Column, 这个部分是用来显示ListView的每一列的标题 ...

  3. vue+echarts实现可拖动节点的折现图(支持拖动方向和上下限的设置)

    本篇文档主要是利用echarts实现可拖动节点的折现图,在echarts中找到了一个demo,传送门:https://echarts.baidu.com/examples/editor.html?c= ...

  4. [转]Android ListView最佳处理方式,ListView拖动防重复数据显示,单击响应子控件

      Android ListView最佳处理方式,ListView拖动防重复数据显示,单击响应子控件. 1.为了防止拖动ListView时,在列表末尾重复数据显示.需要加入 HashMap<In ...

  5. echarts实现多条可拖动节点的折现图

    这篇博文主要是利用echarts实现两条以及多条可拖动节点的曲线,demo脱胎于官方demo,在官方demo的基础上添加了另一条曲线.因为之前写过一篇在vue中使用echarts实现可拖动节点的折线图 ...

  6. WinForm中TreeView控件实现鼠标拖动节点(可实现同级节点位置互换,或拖到目标子节点)

    ;//1:不同级, 不为1:拖同级 private void treeView1_ItemDrag(object sender, ItemDragEventArgs e) { if (e.Button ...

  7. qt 画多边形(实现鼠标拖动节点)

    ---恢复内容开始--- 2018-01-06 这个小例子实现了移动鼠标,鼠标的坐标信息跟随鼠标移动,多边形的实现,鼠标点击可以拖动多边形点的位置,(其中有个问题?我在QMainWindow下,用mo ...

  8. echarts 关系图graph force布局 拖动节点并固定不返回原点

    myChart.on('mouseup',function(params){var option=myChart.getOption();option.series[0].nodes[params.d ...

  9. DevExpress TreeList 禁止节点拖动到其他节点上

    背景 在做一个类似文件树的控件,支持节点从树上向其它的控件拖动程序,但是要保证树上的节点不能拖动上其他的节点上. 代码 /// <summary> /// 拖动节点完成 /// </ ...

随机推荐

  1. 第二个冲刺 Sprint

    顺带 MY—HR 成员: 角色分配 学号 博客园 团队贡献分 丘惠敏 PM项目经理 201406114203 http://www.cnblogs.com/qiuhuimin/ 19 郭明茵 用户 2 ...

  2. Struts2文件上传(基于表单的文件上传)

    •Commons-FileUpload组件 –Commons是Apache开放源代码组织的一个Java子项目,其中的FileUpload是用来处理HTTP文件上传的子项目   •Commons-Fil ...

  3. 使用BOM 的window对象属性打开新窗口

    ★  示例1 要求:弹出新窗口,并向新窗口写入动态HTML代码 代码 <buttononclick="btnOpen()">打开新窗口</button> & ...

  4. 《javascript高级程序设计》读书笔记1

    第二章 在HTML中引用javascript 1.<script>标签的位置:为了避免加载过多的JavaScript的脚本导致浏览器窗口一片空白.现代的web程序一般都把全部的 JavaS ...

  5. web服务器之nginx与apache

    最近准备架设php的web服务器,以下内容可供参考. 1.nginx相对于apache的优点: 轻量级,同样起web 服务,比apache占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞 ...

  6. 容器--Collection和AbstractCollection

    一.前言 容器是JAVA中比较重要的一块,整个体系设计得非常好,同时对于代码学习来说也是比较好的范例.同时很多面试官也比较喜欢用容器来考察面试者的基础知识,所以掌握好容器还是比较重要的.本文主要总结一 ...

  7. LGLCalender (价格日历)

    一直未能找到自己想要的日历价格,就算右也不是我想要的,今天自己封装了一个,欢迎各位来查阅,不足的地方请指教 最新代码下载地址https://github.com/liguoliangiOS/LGLCa ...

  8. Linux命令详解之–ls命令

    今天开始为大家介绍下Linux中常用的命令,首先给大家介绍下Linux中使用频率最高的命令--ls命令. 更多Linux命令详情请看:Linux命令速查手册 linux ls命令用于显示指定工作目录下 ...

  9. 利用jquery实现网页禁止鼠标右键、禁止复制

    很多时候,网站的内容辛苦写法被轻松复制,为了不让自己的劳动成果外流,可以利用禁止鼠标右键等方式保护自己的原创内容! 方式1:禁止鼠标右键操作 <script src="http://l ...

  10. Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (一) —— 总览

    Android数据的四种存储方式SharedPreferences.SQLite.Content Provider和File (一) —— 总览   作为一个完成的应用程序,数据存储操作是必不可少的. ...