日期:2014-05-17  浏览次数:20777 次

在ListView中不可以强制转换出实际的类型么?
我记得之前是在 ListBox 中,在 SelectedItem中,我觉得用相同的办法应该可以适用于 ListView.
但是编译器说不能...

------解决方案--------------------
你怎么强制转换,代码看下
------解决方案--------------------
不行吧,ListView的Item是ListViewItem类型啊。
你可以把你的类型放到ListViewItem的Tag里面,然后ListView.SelectedItems[0].Tag as Person
------解决方案--------------------
那你得确保类型是可以转换成功,强制转换编译器一般没办法检查,运行时才知道
------解决方案--------------------
引用:
Quote: 引用:

那你得确保类型是可以转换成功,强制转换编译器一般没办法检查,运行时才知道


不是...这个我当然知道...但是编译的时候都说不可以转换的...和 ListBox不一样...我就有点难以置信了...你看看....
private void LV_SelectedIndexChanged(object sender, EventArgs e) {
            FileInfo fileInfo = LV.SelectedItems[0] as FileInfo;
        }


报错:
Cannot convert type 'System.Windows.Forms.ListViewItem' to 'System.IO.FileInfo' via a reference conversion, boxing conversion, unboxing conversion, wrapping conversion, or null type conversion

那你在纠结什么?