2012-03-31 150 views
0

我有16个项目在listBox1和一个按钮“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 在此先感谢您的帮助

+0

代码有什么问题?它抛出一些错误? – Shyju 2012-03-31 00:37:48

+0

另外,当你说“移动”时,你的意思是你想删除从listboxallmodules中选择的条目吗? – Rich 2012-03-31 00:45:00

+0

它抛出错误的“项目”,如“错误:非可调用成员'System.Windows.Forms.ListBox.Items'不能像方法一样使用” – 2012-03-31 00:46:16

回答

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); 
+0

我不想从列表框1中删除选定的项目,只是将它移动到列表框2,同时保持它在列表框1以及 – 2012-03-31 01:02:59

+0

我改变它不能删除了。 – 2012-03-31 01:05:18

+0

完成它的家伙..我已经复制按钮1的按钮名称,如“button1_Click”和“button1_Click_1”我假设将代码添加到后者。不是第一个。虽然 – 2012-03-31 01:40:45

1

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

listBoxAllModules。 Items( listBoxAllModules.SelectedItem

这是行不通的。您错过了Add电话。应该是.Items.Add()。您应该可以直接添加SelectedItem作为TechnologRich显示:

listBoxStudentModules.Items.Add(listBoxAllModules.SelectedItem); 
+0

赞赏你的帮助,这就是为什么我有.ToString()在最后。它通过微软网站工作。 – Rich 2012-03-31 01:06:17

+0

string curItem = listBox1.SelectedItem.ToString(); >> http://msdn.microsoft.com/en-us/library/system.windows.forms.listbox.selecteditem.aspx – Rich 2012-03-31 01:07:39

+1

实际上你不需要这个。 ObjectCollection.Items.Add'接受一个Object,而SelectedItem是一个Object。 – SwDevMan81 2012-03-31 01:07:54

相关问题