我想我的组合框列出我所有的数组列表项目。这是我迄今为止,但我不知道我可以添加到使其显示每个数组列表项到组合框。 有没有一种方法可以编写Items.Display或其他东西?c#combobox显示arraylist项目
public void eh()
{
snip
}
我想我的组合框列出我所有的数组列表项目。这是我迄今为止,但我不知道我可以添加到使其显示每个数组列表项到组合框。 有没有一种方法可以编写Items.Display或其他东西?c#combobox显示arraylist项目
public void eh()
{
snip
}
public void PopulateActors()
{
cboActor.Items.Clear();
cboActor.Items.AddRange(ActorArrayList.Cast<string>());
}
你需要在一个循环中创建ComboBoxItems和一个将它们添加一个:
ComboboxItem item = new ComboboxItem();
item.Text = "Item text1";
item.Value = 12;
cboActor.Items.Add(item);
希望这有助于:)
foreach (string line in ActorArrayList)
{
cboActor.Items.Add(line);
}
您可以使用DataSource
绑定在ArrayList
到您的组合框:
yourComboBox.DataSource = yourArrayList;
使用DisplayMember
和ValueMember
选择显示什么,什么是评价项目的Value
:
yourComboBox.DisplayMember = "Displayed thing";
youtComboBox.ValueMember = "Evaluated thing";
如果不指定DisplayMember
,该ToString()
将被称为在每个项目上获得显示的字符串。在你的情况下,它看起来像你有一个字符串ArrayList
,所以你不需要为DisplayMember
和ValueMember
指定任何值。
注意:您应该使用List<T>
相反,它会更好。 ArrayList
只是一个旧东西。
您必须添加一个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
}
}
您可以创建这样
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);
上面没有提到的另一个例子!类似希德男,因为这并没有为我工作,我分享我发现我的解决方案:
String[] data = new String[]{"Data1", "Data2", "Data3", "Data4"};
cboData.Items.AddRange(data);
有你'cboActor.Items.Add(线)审判;'? –
cbActor必须拥有一个名为DataSource的属性,只需指定cboActor.DataSource = ActorArrayList并查看wat的情况。 –
您是否可以像WinForms或WPF一样提供更多信息/ tagson框架? – meilke