在winform编程中,listbox 只有一个 list.items.Add(object obj)的方法。
又是需要这样 list.items.Add(value,text)这样的东西。
其实这样的需求是可以实现的,只不过 list提供了一个更加灵活的方法而已。
我们可以自定义这样一个类
public class ListItem
{
private string id = string.Empty;
private string name = string.Empty;
public ListItem(string sid, string sname)
{
id = sid;
name = sname;
}
public override string ToString()
{
return this.name;
}
public string ID
{
get
{
return this.id;
}
set
{
this.id = value;
}
}
public string Name
{
get
{
return this.name;
}
set
{
this.name = value;
}
}
}
使用方法
ListItem item=new ListItem(orgcode,orgname);
listbox.Items.Add(item);
listbox.DisplayMember = "Name";
listbox.ValueMember = "ID";
取值方法
ListItem item = box.SelectedItem as ListItem;
string name = item.Name;
string id = item.ID;
或取ListBox中的集合
ListBox.ObjectCollection obj = listBox2.Items;
//object[] obj = listBox2.Items;
ArrayList list_XM=new ArrayList();
for (int i = 0; i < obj.Count; i++)
{
list_XM.Add(((PublicMethods.ListItem)(obj[i])).ID.ToString());
}