俺菜 ,刚学C#,书籍资料不多,想求个这方面的例子: (左)ListBox  点击:  <  ,  <<  ,  >  ,  >> 按钮 实现左右移动  (右)List Box 
 
  最好详细点的例子,谢了!

解决方案 »

  1.   

    1. 设置ListBox1和ListBox2的属性使之允许多选
    2. 实现代码:
    实现listbox1 -> listbox2
            private void btnSet_Click(object sender, EventArgs e)
            {
                if (listBox1.Items.Count > 0 && listBox1.SelectedIndex > -1)
                {
                    ArrayList needToDel = new ArrayList();
                    foreach (object item in listBox1.SelectedItems)
                    {
                        listBox2.Items.Add(item);
                        needToDel.Add(item);
                    }
                    foreach (object item in needToDel)
                    {
                        listBox1.Items.Remove(item);
                    }
                }
            }
    实现listbox1 >> listbox2
            private void btnToAllProcess_Click(object sender, EventArgs e)
            {
                listBox2.Items.AddRange(listBox1.Items);
                listBox1.Items.Clear();
            }
      

  2.   

    SelectionMode 的属性设置为 MultiSimple 还是 MultiExtended 啊?
      

  3.   

    没有 ArrayList  这个类型啊
    在我的项目上运行不了
      

  4.   

    1.MultiSimple 就行。
    2.ArrayList要using System.Collections;的
      

  5.   

    缺少引用,在using块添加对System.Collections的引用
      

  6.   

    晕。把代码里 ListBox1 和 ListBox2 倒过来,分别放到< 和 <<的点击事件里啊
      

  7.   

    实现listbox1 - > listbox2 
    for (int i = listBox1.Items.Count - 1; i >= 0 ; i--)
    {
    if (listBox1.GetSelected(i))
    {
    listBox2.Items.Add(listBox1.SelectedItem);
    listBox1.Items.Remove(listBox1.SelectedItem);
    }
    }
      

  8.   

    上面的我弄懂了,
      还有个问题, 怎么让左边内容的双击后 自动加到右边的ListBox 里去啊?      ( 看来分加的少了,不好意思了..)
      

  9.   

    楼主我提个建议,你就不能自己好好思考一下吗。上面好多位朋友都给你指路了,你可以顺着思路做。从listbox左边到右边,和从右边到左边有什么本质区别吗。再有双击listbox项的问题,你就是在双击事件中走一下上面的过程就行了。不要以为大家只在乎你那点分!!
      

  10.   

    如果是数据绑定DATATABLE的好像不能删除
      

  11.   

        >for(int i=0; i<lstCom.SelectedItems.Count; i++)
    {
        if(lstNewCom.Items.Contains(lstCom.SelectedItems[i]))
          //不添加相同的值
        {
    continue;
        }
       lstNewCom.Items.Add(lstCom.SelectedItems[i]);
    }