如何从列表视图中获取最后一项
本文关键字:一项 最后 获取 列表 视图 | 更新日期: 2023-09-27 18:36:29
我的问题是关于处理ListView中的拖放。
所以我得到了选定的列表视图项。
ListView.SelectedListViewItemCollection itemCollection = (ListView.SelectedListViewItemCollection)e.Data.GetData("System.Windows.Forms.ListView+SelectedListViewItemCollection");
如果我通过拖放移动新元素(例如从窗口资源管理器),则itemCollection等于null,因为我没有在列表视图中选择项目。
private void DragDropHandler(object sender, DragEventArgs e)
{
ListView.SelectedListViewItemCollection itemCollection = (ListView.SelectedListViewItemCollection)e.Data.GetData("System.Windows.Forms.ListView+SelectedListViewItemCollection");
if (itemCollection == null)
{
itemCollection = (ListView.SelectedListViewItemCollection)e.Data.GetData("System.Windows.Forms.ListView");
}
}
在这种情况下,我将获得列表视图中的最后一个元素,我该怎么做?
试试这个:
var r = Enumerable.Empty<ListViewItem>();
if(this.listView1.Items.Count > 0)
r = this.listView1.Items.OfType<ListViewItem>();
var last = r.LastOrDefault();
if (last != null)
{
// do your stuff
}