在我的ListView中标记最后一个项目

本文关键字:最后一个 项目 我的 ListView | 更新日期: 2023-09-27 17:50:12

我构建应用程序并向ListView添加文件,我希望每次添加的最后一个文件都要强调所以在Foreach语句中我添加了lvFiles.Items[lvFiles.Items.Count - 1].Selected = true;但在这种情况下,ListView中的所有文件都要强调而不仅仅是最后一个

List<string> filesList
            foreach (string fileName in filesList)
            {
                FileInfo fileInfo = new FileInfo(fileName);
                if (checkFileCreationDate(fileInfo))
                {
                    if (editcap.isWiresharkFormat(fileInfo.FullName))
                    {
                        if (editcap.isLibpcapFormat(fileInfo.FullName))
                        {
                            addFileToListBox(fileInfo.FullName, capinfos.getFileDuration(fileInfo.FullName));
                        }
                        else if (!editcap.isLibpcapFormat(fileInfo.FullName))
                        {
                            fileToAdd = editcap.getNewFileName(fileInfo.FullName);
                            if (new FileInfo(fileToAdd).Exists && !fileInfo.Exists)
                            {
                                addFileToListBox(fileToAdd, capinfos.getFileDuration(fileInfo.FullName));
                            }
                        }
                    }
                }
            }
private void addFileToListBox(string filePath, string duration)
{
    item = new ListViewItem(new string[] { new FileInfo(filePath).Name, duration, "Waiting" });
    item.Tag = new FileInfo(filePath).FullName;
}

在我的ListView中标记最后一个项目

只要把语句放在foreach后面就可以了。

:

foreach(var x in colY)
{
  //check file
  lvFiles.Items[lvFiles.Items.Count - 1].Selected = false;
  //add item here
  lvFiles.Items[lvFiles.Items.Count - 1].Selected = true;
}

您需要先取消选择前面的元素,然后再选择最后一个元素:

foreach (var item in lvFiles.Items)
{
    item.Selected = false;
}
lvFiles.Items[lvFiles.Items.Count - 1].Selected = true;