如何将所选项从一个listBox添加到另一个listBox

时间:2012-03-31 00:34:51

标签: c#

我有listBox1中的16个项目和一个按钮“button1”,我需要能够在按下按钮时将所选项目从listBox1移动到listBox2。目前我的代码是

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml;
using System.IO;

namespace courseworkmodule
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            String workingDir = Directory.GetCurrentDirectory();
            XmlTextReader textReader = new XmlTextReader(workingDir + @"\modules.xml");

            Console.WriteLine("BaseURI:" + textReader.BaseURI);
            textReader.Read();

            while (textReader.Read())
            {
                textReader.MoveToElement();

                if (textReader.Name == "Name")
                {

                    textReader.Read();
                    XmlNodeType nType = textReader.NodeType;

                    if (nType == XmlNodeType.Text)
                    {
                        listBoxAllModules.Items.Add(textReader.Value);
                    }
                }
            }

            Console.ReadLine();
            textReader.Close();
        }

        public void button1_Click(object sender, EventArgs e)
        {
            listBoxStudentModules.Items.Add(listBoxAllModules.SelectedItem); 
        } 

        private void Form1_Load_1(object sender, EventArgs e)
        {

        }

        private void listBoxAllModules_SelectedIndexChanged(object sender, EventArgs e)
        {

        }
    }
}

其中listBoxAllModule是listBox1,listBoxStudentModule是listBox2 提前感谢您的帮助

2 个答案:

答案 0 :(得分:1)

你可以明确地看到发生了什么:

 string value = listBoxAllModules.SelectedItem.Value; 
 string text = listBoxAllModules.SelectedItem.Text;  
 ListItem item = new ListItem (); 
 item.Text = text;                
 item.Value = value;
 listBoxStudentModules.Items.Add(item); 

答案 1 :(得分:1)

listBoxAllModules.ItemsListBox.ObjectCollection。您正尝试将其用作方法:

listBoxAllModules。项目( listBoxAllModules.SelectedItem

这不起作用。您错过了Add电话。应该是.Items.Add()。您应该只需添加SelectedItem作为TechnologRich显示:

listBoxStudentModules.Items.Add(listBoxAllModules.SelectedItem);