2013-03-27 57 views
0

我已經創建了一個名爲ComboBoxitem的類,它有兩個屬性:值和文本。在組合框中添加更多組合框包含值和文本

public class ComboBoxItem 
{ 
    public string Value; 

    public string Text; 

    public ComboBoxItem(string val, string text) 
    { 

     Value = val; 

     Text = text; 
    } 
    public override string ToString() 
    { 
     return Text; 
    } 

} 

現在我想喜歡每次值和文本添加到comboboxitem

事情是這樣的:

public ComboBoxItem busstops; 

     private void Form1_Load(object sender, EventArgs e) 
     { 
      lblText.Text = "Timetable Bushours for " + "New Bridge Street-St Dominics"; 

      busstops = new ComboBoxItem("410000015503", "New Bridge Street-St Dominics"); 
      busstops = new ComboBoxItem("410000015552", "Bothal Street (N-Bound), Byker "); 

     /* comboBox1.Items.Add(new ComboBoxItem ("410000015503", "New Bridge Street-St Dominics")); 
      comboBox1.Items.Add(new ComboBoxItem("410000015552", "Bothal Street (N-Bound), Byker "));*/ 


      comboBox1.Items.Add(busstops); 
     } 

但問題是隻添加的最後一個項目(正常,因爲我總是說新的ComboboxItem)但如何改變他總是可以添加新組合框的代碼?

謝謝!

+0

主要是因爲我很好奇......爲什麼你所評論的代碼不工作?它看起來完全像它應該的,並且應該工作得很好。你需要其他地方的busstops變量嗎?在這種情況下,你應該使它成爲某種類型的集合或列表,而不是單個變量......並且包含不同的問題以及...... – Nevyn 2013-03-27 17:04:05

回答

1

這兩個ComboBox項目都是不同的對象,所以你需要兩個ComboBox變量來存儲它們。

busstops1 = new ComboBoxItem("410000015503", "New Bridge Street-St Dominics"); 
busstops2 = new ComboBoxItem("410000015552", "Bothal Street (N-Bound), Byker "); 


comboBox1.Items.Add(busstops1); 
comboBox1.Items.Add(busstops2); 
0

將它添加到每次comboBox1.Items您更新busstops實例。

 private void Form1_Load(object sender, EventArgs e) 
     { 
      lblText.Text = "Timetable Bushours for " + "New Bridge Street-St Dominics"; 

      busstops = new ComboBoxItem("410000015503", "New Bridge Street-St Dominics"); 
      comboBox1.Items.Add(busstops); 

      busstops = new ComboBoxItem("410000015552", "Bothal Street (N-Bound), Byker "); 
      comboBox1.Items.Add(busstops); 
     } 
0

您應該在每次分配後添加。

 busstops = new ComboBoxItem("410000015503", "New Bridge Street-St Dominics"); 

     comboBox1.Items.Add(busstops); // Add this line 

     busstops = new ComboBoxItem("410000015552", "Bothal Street (N-Bound), Byker "); 
     comboBox1.Items.Add(busstops); 
0

讓ComboBoxItems的列表,添加項目到列表中,並設置數據源comboBox1到列表:

List<ComboBoxItem> Items = new List<ComboBoxItem>(); 
    comboBox1.DataSource = Items; 
0
private void Form1_Load(object sender, EventArgs e) 
    { 
     lblText.Text = "Timetable Bushours for " + "New Bridge Street-St Dominics"; 

     busstops = new ComboBoxItem("410000015503", "New Bridge Street-St Dominics"); 
     comboBox1.Items.Add(busstops);//add this line here 

     busstops = new ComboBoxItem("410000015552", "Bothal Street (N-Bound), Byker "); 
     comboBox1.Items.Add(busstops);//and again here 
    } 

,因爲你要添加的值相同,你必須添加每次它發生變化時都會有這個值通過聲明new,你實際上正在取代和覆蓋舊的價值。

+0

哇,在我花時間寫這篇文章的時候,5個答案是產生.... – Nevyn 2013-03-27 17:02:38