请教LsitBox的DisplayMember属性
Class Person
{
public string name{get;set;}
public string aaa{get;set;}
}
往listbox1中添加了Person对象,并先设置了listbox1的DisplayMember = "name"
然后,做一个按钮,在点击事件中设置listbox1的DisplayMember = "aaa"
可是,实际显示的怎么不变化呢,怎么不是aaa属性的值呢,而是对象的Tostring()字符串呢?
[解决办法]
那应该是你的代码有问题
[解决办法]
public partial class Work
{
public int? Id { get; set; }
public string Name { get; set; }
}
public partial class Works
{
private static List<Work> works = new List<Work>();
public static List<Work> GetWorks
{
get
{
works.Clear();
works.Add(new Work() { Id = 1, Name = "程序员"});
works.Add(new Work() { Id = 2, Name = "项目经理" });
works.Add(new Work() { Id = 3, Name = "技术总监" });
return works;
}
}
}
private void Form2_Load(object sender, EventArgs e)
{
this.listBox1.DataSource = Works.GetWorks;
this.listBox1.DisplayMember = "Name";
this.listBox1.ValueMember = "Id";
}
private void button1_Click(object sender, EventArgs e)
{
this.listBox1.DisplayMember = "Id";
}