MouseDoubleClick的内容:
           if (e.Button == MouseButtons.Left)
            {
                ListViewItem liItem;
                liItem = lsvFileFolder.GetItemAt(e.X, e.Y);
                if (liItem != null)
                {
...TODO Something
                }
            }MouseDown:实现拖拽的开始
            if (e.Button == MouseButtons.Left)
            {
                ListViewItem liDragItem = lsvFileFolder.GetItemAt(e.X, e.Y);
                if (liDragItem != null)
                {
                     lsvFileFolder.DoDragDrop(liDragItem , DragDropEffects.All);
                }
            }当MouseDown里加入这些代码后,MouseDoubleClick、DoubleClick、ItemActivate都不执行了,不知道是否有人遇到过这样的问题,是否已解决?能否分享解决方法?

解决方案 »

  1.   

    判断MouseDown后设置一个控制变量为true,然后MouseMove里拖动,如果没有MouseDown,控制变量为false,也就说鼠标移动不会激发MouseMove里写的代码!
      

  2.   

    兄弟,你有没有用代码试验啊????
    MouseDoubleClick、DoubleClick、ItemActivate在触发前第一个就要执行MouseDown,然后是MouseMove、MouseUp,完成这一系列动作才是一个Click也就是说MouseDoubleClick、DoubleClick=MouseDown+ouseMove+MouseUp+MouseDown+ouseMove+MouseUp
    你说你设置的变量有用么?
      

  3.   

    Sorry,我试验的时候没再Move事件里把变量置为False,好像好用了,多谢