C# listbox显示问题

塔克茜丝 2020-01-11 10:25:24
定义了listitem的类
public class XMLListItem
{
public string Title
{ get; set; }

public string SN
{ get; set; } //存放其他属性(object型)
public override string ToString()
{ return Title; }
public XMLListItem(string title, string sn)
{ Title = title; SN = sn; }
}
然后
ListBox1.Items.Add(new XMLListItem("Title","SN");

在listbox上就自动显示了Title的string,那怎么让它显示sn的string?用什么方法?
...全文
348 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
塔克茜丝 2020-01-15
  • 打赏
  • 举报
回复
谢谢,受教了。
qhwoaini 2020-01-13
  • 打赏
  • 举报
回复
这个是listcontrol中上图没截到的方法
qhwoaini 2020-01-13
  • 打赏
  • 举报
回复
这个是你ListBox的Add方法的具体调用,可以看到由于未设置ListBox的DisplayMember属性,最后展示的内容的是Add方法传入对象的ToString方法的返回值
塔克茜丝 2020-01-13
  • 打赏
  • 举报
回复
有高手回复么?
塔克茜丝 2020-01-11
  • 打赏
  • 举报
回复
引用 1 楼 qhwoaini 的回复:
listbox显示的内容是你ToString()方法返回的值,只要重写ToString时返回sn就行了
public override string ToString()
{
return SN;
}

这个是重写了tostring的函数是抄写的。
但是我在ListBox1.Items.Add(new XMLListItem("Title","SN");后没用用to string,怎么显示的也是title呢?
还有我去掉了这个tostring的重写,也是显示的title。这个是什么原理?
还有是否有方法,自己来定义listbox显示的内容
qhwoaini 2020-01-11
  • 打赏
  • 举报
回复
listbox显示的内容是你ToString()方法返回的值,只要重写ToString时返回sn就行了 public override string ToString() { return SN; }

110,546

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧