winform listbox 没有listitem的问题

在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;

原文地址:https://www.cnblogs.com/yg_zhang/p/1636611.html