2012-03-31 79 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

相關問題