最近有开发需求涉及的listview 的listviewitem的排序的问题,找了些资料都是断断序序的,把我的实现方法总结一下,

主要实现代码如下:

 

 sender, ListViewItemMouseHoverEventArgs e)
        {
            itemSelected = e.Item;
            
if (isdrag)
            {
                e.Item.Selected 
= true;
            }
            
else
            {
                e.Item.Selected 
= false;
            }
        }
//ItemDrag获取被拖动的item
        private void lsvFilms_ItemDrag(object sender, ItemDragEventArgs e)
        {
            itemDraged 
= (ListViewItem)e.Item;
            
this.Cursor = Cursors.Hand;
            isdrag 
= true;
        }
//MouseUp当拖动放开鼠标时,进行位置调整操作
        private void lsvFilms_MouseUp(object sender, MouseEventArgs e)
        {
            isdrag 
= false;
            
if ((itemSelected != null&& (itemDraged != null))
            {
                
if (itemDraged.Index != itemSelected.Index)
                {
                                                           
this.lsvFilms.Items.RemoveAt(itemDraged.Index);
                    
this.lsvFilms.Items.Insert(itemSelected.Index, itemDraged);
                    itemDraged 
= null;
                    itemSelected 
= null;
                                   }
            }
            
this.Cursor = Cursors.Default;
        }

其实就是几个简单的逻辑顺序,如果朋友有更好的方法,希望能与你交流。谢谢!

相关文章:

  • 2022-12-23
  • 2021-09-19
  • 2022-12-23
  • 2021-07-12
  • 2022-12-23
  • 2022-12-23
  • 2021-07-05
  • 2022-01-19
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-25
  • 2022-12-23
  • 2022-12-23
  • 2022-01-17
  • 2022-12-23
相关资源
相似解决方案