Code Bye

c#两个listbox怎么把内容添加到另外个listbox


如图从左边选择可以多选,然后点击下按钮添加到右边,然后左边的消失。右边同理。一个按钮把左边的全部添加到右边,右边同理。还有个按钮随机排列右边的内容。这样怎么做到?能给个例子吗?
解决方案

100

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            listBox1.SelectionMode = SelectionMode.MultiSimple;
            listBox2.SelectionMode = SelectionMode.MultiSimple;
            listBox1.Items.Add(1); ;
            listBox1.Items.Add(2);
            listBox1.Items.Add(3);
            listBox1.Items.Add(4);
            listBox1.Items.Add(5);
            button1.Click += new EventHandler(button_Click);
            button2.Click += new EventHandler(button_Click);
            button3.Click += new EventHandler(button_Click);
            button4.Click += new EventHandler(button_Click);
        }
        void button_Click(object sender, EventArgs e)
        {
            switch ((sender as Button).Text)
            {
                case ">": ItemMove(listBox1, listBox2); break;
                case "<": ItemMove(listBox2, listBox1); break;
                case ">>": ItemMove(listBox1, listBox2, true); break;
                case "<<": ItemMove(listBox2, listBox1, true); break;
            }
        }
        void ItemMove(ListBox a, ListBox b, bool all=false)
        {
            var st = new ArrayList();
            if(all) foreach (var item in a.Items) st.Add(item);            
            else foreach (var item in a.SelectedItems) st.Add(item);
            foreach(var item in st)
            {
                b.Items.Add(item);
                a.Items.Remove(item);
            }            
        }
    }


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明c#两个listbox怎么把内容添加到另外个listbox