c#combobox显示arraylist项目

时间:2013-09-25 09:04:08

标签: c#

我希望我的组合框列出我的所有数组列表项。这是我到目前为止,但我不知道我可以添加什么使它显示每个数组列表项到组合框。 有没有办法可以编写Items.Display或其他类似的东西?

public void eh()
{
snip
}

7 个答案:

答案 0 :(得分:3)

public void PopulateActors()
{
    cboActor.Items.Clear(); 
    cboActor.Items.AddRange(ActorArrayList.Cast<string>());
}

答案 1 :(得分:2)

您可以使用DataSourceArrayList绑定到您的组合框:

yourComboBox.DataSource = yourArrayList;

使用DisplayMemberValueMember选择显示的内容以及评估为项目Value的内容:

yourComboBox.DisplayMember = "Displayed thing";
youtComboBox.ValueMember = "Evaluated thing";

如果您未指定DisplayMember,则会在每个项目上调用ToString()以获取显示的字符串。在您的情况下,您看起来有ArrayList字符串,因此您无需为DisplayMemberValueMember指定任何值。

注意:您应该使用List<T>代替,这样会更好。 ArrayList只是一件旧事。

答案 2 :(得分:1)

您可以像这样创建一个数组列表

ArrayList sampleArray = new ArrayList();
            sampleArray.Add("India");
            sampleArray.Add("China");
            sampleArray.Add("USA");
            sampleArray.Add("UK");
            sampleArray.Add("Japan");

然后可以将它添加到你的组合框

cboActor.Items.Clear(); 
 cboActor.Items.AddRange(sampleArray);

答案 3 :(得分:0)

您需要在循环中创建ComboBoxItem并逐个添加它们:

ComboboxItem item = new ComboboxItem();
item.Text = "Item text1";
item.Value = 12;

cboActor.Items.Add(item);

希望这会有所帮助:)

答案 4 :(得分:0)

foreach (string line in ActorArrayList)
{
    cboActor.Items.Add(line);        
}

答案 5 :(得分:0)

您必须添加listItem(文本,值)

foreach (Actor line in ActorArrayList)
    {
        cboActor.Items.Add(new ListItem( line.Name ,line.ID)); //as second part you may enter the ID of the object so you can use it at a later time
    }
}

答案 6 :(得分:0)

上面没有提到的另一个例子!与Sid M类似,因为那对我不起作用,我分享了我找到的解决方案:

String[] data = new String[]{"Data1", "Data2", "Data3", "Data4"};

cboData.Items.AddRange(data);