读书人

请问LsitBox的DisplayMember属性

发布时间: 2012-12-28 10:29:04 作者: rapoo

请教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";
}

[解决办法]
上面是我测试的代码,没有问题可以切换 DisplayMember 属性

读书人网 >C#

热点推荐