2015-06-29 96 views
-2

我「米試圖將項目添加到我的combobx但它」不是工作:組合框不工作窗口形式

static ArrayList bandlist = new ArrayList(); 

public addBand() 
{ 
    InitializeComponent(); 
    bandlist[0] = "test"; 
    bandlist[1] = "test"; 
    fillComboBox(); 
} 



public void fillComboBox() 
{ 
    foreach (string item in bandlist) 
    { 
     combo.Text = item; 
    } 
} 

謝謝

+3

過目組合框的屬性泛型集合的優勢。你會發現一個更合適的。 –

+1

您可以請關於_not working_更具體嗎?你得到任何異常或錯誤信息? –

+0

擴展@HenkHolterman評論:'ComboBox.Text'不是* add items *的正確屬性。 – Sinatr

回答

1

要將項目添加到您的組合框,你必須填寫.Items屬性(這是一個集合)。 見https://msdn.microsoft.com/en-us/library/aa983551(v=vs.71).aspx

您當前使用的Text屬性:

設置文本屬性設置爲空或空字符串(「」)將 的SelectedIndex爲-1。將Text屬性設置爲 中的值時,Items集合將SelectedIndex設置爲該項目的索引。 將Text屬性設置爲不在集合 中的值將使SelectedIndex保持不變。

0

您正在設置錯誤的屬性。您應該設置Items或DataSource屬性以輸入控件中的所有值。

combo.DataSource= bandlist; 

OR

foreach (var item in bandlist) 
    { 
     combo.Items.Add(item); 
    } 
0

也許你需要:

combo.Items.Add(item); 
+0

謝謝,但是當我這樣做的時候它是空的。我現在從一個數組中接收它,但它是空的很奇怪。 – Jamie

+0

似乎我很着急 看看這個:[link](http://stackoverflow.com/questions/3063320/combobox-adding-text -and-值到一個項目,沒有結合源) – malhotraprateek

0

要將項目添加到組合框,你應該使用Items.Add方法。

combo.Items.Add(item); 

此外,我注意到你使用ArrayList。除非你使用框架的第一版,否則我會建議使用一個通用的集合,例如List<string>

ArrayList vs List<> in C#看到過ArrayList