我构建应用程序并将文件添加到我的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;
}
答案 0 :(得分:1)
只需在你的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;
}
答案 1 :(得分:0)
您需要首先取消选择之前的元素,然后选择最后一个元素:
foreach (var item in lvFiles.Items)
{
item.Selected = false;
}
lvFiles.Items[lvFiles.Items.Count - 1].Selected = true;