ListView选中selectedItem上下移动 C#

ListView选中selectedItem上下移动 C#

//上移
privatevoidListViewUpMove(ListViewlistView)
       {
           if(listView.SelectedItems.Count==0)
           {
               return;
           }
           listView.BeginUpdate();
   

//上移

private void ListViewUpMove(ListView listView)
        {

            if (listView.SelectedItems.Count == 0)
            {

                return;
            }

            listView.BeginUpdate();
            if (listView.SelectedItems[0].Index > 0)
            {

                foreach (ListViewItem lvi in listView.SelectedItems)
                {

                    ListViewItem lviSelectedItem = lvi;
                    int indexSelectedItem = lvi.Index;
                    listView.Items.RemoveAt(indexSelectedItem);
                    listView.Items.Insert(indexSelectedItem – 1, lviSelectedItem);
                }
            }
            listView.EndUpdate();

            if (listView.Items.Count > 0 && listView.SelectedItems.Count > 0)
            {

                listView.Focus();
                listView.SelectedItems[0].Focused = true;
                listView.SelectedItems[0].EnsureVisible();
            }

        }

=============================================================

//下移
        private void ListViewDownMove(ListView listView)
        {

            if (listView.SelectedItems.Count == 0)
            {

                return;
            }

            listView.BeginUpdate();
            int indexMaxSelectedItem = listView.SelectedItems[listView.SelectedItems.Count – 1].Index;

            if (indexMaxSelectedItem < listView.Items.Count – 1)
            {

                for (int i = listView.SelectedItems.Count – 1; i >= 0; i–)
                {

                    ListViewItem lviSelectedItem = listView.SelectedItems[i];
                    int indexSelectedItem = lviSelectedItem.Index;
                    listView.Items.RemoveAt(indexSelectedItem);
                    listView.Items.Insert(indexSelectedItem + 1, lviSelectedItem);
                }
            }
            listView.EndUpdate();

            if (listView.Items.Count > 0 && listView.SelectedItems.Count > 0)
            {

                listView.Focus();
                listView.SelectedItems[listView.SelectedItems.Count – 1].Focused = true;
                listView.SelectedItems[listView.SelectedItems.Count – 1].EnsureVisible();
            }
        }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/35322.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注