如果是拖动的
AllowDrop 属性打开     private void listBox_FenLei_DragDrop(object sender, DragEventArgs e)  private void listBox_FenLei_DragOver(object sender, DragEventArgs e)写好  根据拖动后改变两个项的index 吧  就可以了 要是用按钮 意思是一样的

解决方案 »

  1.   

            /// <summary>
            /// 移上
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btnUp_Click(object sender, EventArgs e)
            {
                if (lvwColumn.SelectedItems.Count == 0)
                {
                    lvwColumn.Focus();
                    return;
                }
                int sIndex = lvwColumn.SelectedItems[0].Index;
                int eIndex = lvwColumn.SelectedItems[lvwColumn.SelectedItems.Count - 1].Index;
                if (eIndex == 0)
                {
                    lvwColumn.Focus();
                    return;
                }
                ListViewItem sitem = (ListViewItem)lvwColumn.Items[sIndex - 1].Clone();
                lvwColumn.Items[sIndex - 1].Remove();
                lvwColumn.Items.Insert(eIndex, sitem);
                lvwColumn.Focus();
            }        /// <summary>
            /// 移下
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btnDown_Click(object sender, EventArgs e)
            {
                if (lvwColumn.SelectedItems.Count == 0)
                {
                    lvwColumn.Focus();
                    return;
                }
                int sIndex = lvwColumn.SelectedItems[0].Index;
                int eIndex = lvwColumn.SelectedItems[lvwColumn.SelectedItems.Count - 1].Index;
                if (sIndex == lvwColumn.Items.Count - 1)
                {
                    lvwColumn.Focus();
                    return;
                }
                ListViewItem sitem = (ListViewItem)lvwColumn.Items[eIndex + 1].Clone();
                lvwColumn.Items[eIndex + 1].Remove();
                lvwColumn.Items.Insert(sIndex, sitem);
                lvwColumn.Focus();
            }