ListBox可以直接装箱实体类。ListView怎么做啊?装箱
ListViewItem item = new ListViewItem(info.Name, 0);
item.Tag = info.ID;
this.ListView1.Items.Add(item);拆出来就出错
Info user = this.ListView1.SelectedItem[0] as Info    这里要怎么写?

解决方案 »

  1.   

    拆出来就出错
    Info user = this.ListView1.SelectedItems[0] as Info    这里要怎么写?
    帖子里漏打个s,但是这样还是不行啊错误
    无法通过引用转换、装箱转换、取消装箱转换、包装转换或 Null 类型转换将类型“System.Windows.Forms.ListViewItem”转换为“XXXX.Model.Info”
      

  2.   

    你自己写的 .Name,还有.Tag,这种代码你还来个 as Info?你自己不用一丁点调试工具(例如监视窗口、即使窗口之类的)去调试,这会白白浪费csdn的版面,充斥这类一点都不认真写代码的问题。
      

  3.   

    还有.Tag  -->  还有.ID你不过给 Item 传了两个 string 值而已,哪来的 Info 类型对象?你自己不调试一下 this.ListView1.SelectedItem[0] 是什么类型的对象吗?
      

  4.   


    不是不认真真不知道这种怎么调试运行前就是错误的代码。。监视里空的没内容啊
    之前用的listBox直接就item.Add(info)就可以了。。确实不知道ListViewItem要如何去符合绑定的要求
      

  5.   

    什么装箱拆箱的。只有值类型才装箱拆箱。你既不能避免它,也不能刻意制造它。如果info是值类型,就不能用as运算符,应该用强制类型转换。
      

  6.   


    才发现。。我info重写了string,所以listBox直接就能用了。。
      

  7.   

    可以自定义ListViewItem 类,然后重写ListViewItem的ToString()方法,或者自己手动来构建一个实体类,通过ListviewItem.SubItems[inde].Text来获得每项的每个子项的文本,然后来间接创建一个实体类