可以保存下每个记录的Index值

解决方案 »

  1.   

    string[] _items = new string[]{"AA","BB","CC"}
    int[] _itemsPosition = new int[Items.Length];
    for(int i = 0 ; i < _itemPositions.Length ; i++)
    {
     _itemPositions[i] = 0;
    }//--------------ListBox[] _listBoxs = new ListBox[2];
    //....
    private void MoveItem(int itemIndex,int position)
    {
      this._itemsPosition[itemIndex] = position;  for(int i = 0 ; i < this._listBoxs; i++)
        this._listBoxs[i].Items.Clear();  for(int i = 0 ; i< this._items.Length ; i++)
      {
         this._listBoxs[this._itemsPosition[i]].Items.Add(this._items[i]);
      }
    }//left -> right
    this.MoveItem(1,this._listBox[0].SelectedIndex);
    //right -> left
    this.MoveItem(0,this._listBox[1].SelectedIndex);//----------------------------
    对于多项选择可以:
    private void MoveItem(int[] itemIndex,int[] position)
    {
    //方法类似
    }