我希望我的组合框列出我的所有数组列表项。这是我到目前为止,但我不知道我可以添加什么使它显示每个数组列表项到组合框。 有没有办法可以编写Items.Display或其他类似的东西?
public void eh()
{
snip
}
答案 0 :(得分:3)
public void PopulateActors()
{
cboActor.Items.Clear();
cboActor.Items.AddRange(ActorArrayList.Cast<string>());
}
答案 1 :(得分:2)
您可以使用DataSource
将ArrayList
绑定到您的组合框:
yourComboBox.DataSource = yourArrayList;
使用DisplayMember
和ValueMember
选择显示的内容以及评估为项目Value
的内容:
yourComboBox.DisplayMember = "Displayed thing";
youtComboBox.ValueMember = "Evaluated thing";
如果您未指定DisplayMember
,则会在每个项目上调用ToString()
以获取显示的字符串。在您的情况下,您看起来有ArrayList
字符串,因此您无需为DisplayMember
和ValueMember
指定任何值。
注意:您应该使用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);