zoukankan      html  css  js  c++  java
  • ListView选中selectedItem上下移动

        //向上
            private void button1_Click(object sender, EventArgs e)
            {
                
    if (this.listView1.SelectedItems.Count == 0)
                {
                    
    return;
                }

                listView1.BeginUpdate();

                
    if (this.listView1.SelectedItems[0].Index > 0)
                {
                    
    foreach (ListViewItem var in listView1.SelectedItems)
                    {
                        ListViewItem item 
    = var;
                        
    int indexSelectedItem = var.Index;
                        listView1.Items.RemoveAt(indexSelectedItem);
                        listView1.Items.Insert(indexSelectedItem 
    - 1, item);
                    }
                }
                listView1.EndUpdate();

                
    if(listView1.Items.Count >0 && listView1.SelectedItems.Count >0)
                {
                    listView1.Focus();
                    listView1.SelectedItems[
    0].Focused = true;
                    listView1.SelectedItems[
    0].EnsureVisible();
                }
            }
            
    //向下
            private void button2_Click(object sender, EventArgs e)
            {
                
    if (this.listView1.SelectedItems.Count == 0)
                {
                    
    return;
                }
                
    this.listView1.BeginUpdate();
                
    int indexMaxSelectedItem = listView1.SelectedItems[listView1.SelectedItems.Count - 1].Index;

                
    if (indexMaxSelectedItem < listView1.Items.Count - 1)
                {
                    
    for (int i = this.listView1.SelectedItems.Count -1; i >=0; i--)
                    {
                        ListViewItem item 
    = this.listView1.SelectedItems[i];
                        
    int indexSelectedItem = item.Index;
                        listView1.Items.RemoveAt(indexSelectedItem);
                        listView1.Items.Insert(indexSelectedItem 
    + 1, item);
                    }
                }
                listView1.EndUpdate();

                
    if (listView1.Items.Count > 0 && listView1.SelectedItems.Count > 0)
                {
                    listView1.Focus();
                    listView1.SelectedItems[listView1.SelectedItems.Count 
    - 1].Focused = true;
                    listView1.SelectedItems[listView1.SelectedItems.Count 
    - 1].EnsureVisible();
                }
            }


  • 相关阅读:
    SystemV和BSD的区别
    Linux init 系列一 System V风格
    ps -ef和ps aux的区别
    Linux中/etc/resolv.conf文件简析
    Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stoc
    在Linux中利用Service命令添加系统服务及开机自启动
    实例具体解释Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(二)
    关于程序性能优化基础的一些个人总结
    C++开发人脸性别识别总结
    double型转换成string型
  • 原文地址:https://www.cnblogs.com/chenqingwei/p/1773813.html
Copyright © 2011-2022 走看看