如何在比较某些字符串后检查 listView 项目?
谁能帮我解决一下我的小烦恼吗? 我正在编写一个应用程序来处理文本文件。我有一个 GUI,其中包含一个 listView,其中每个项目都有复选框。 我创建了 2 个数组: 第一个用于 listView 中的项目,第二个用于文本文件中的所有行
string[] itemInList = new string[] { listView1.Items.ToString()
string[] lineInHosts = File.ReadAllLines(C:\Test.txt).ToArray<string>();
这个想法是比较“C:\Test.txt”文件中的所有行和 listView 中的所有项目。 如果有匹配项,我希望该项目为 item.Checked = true;
PS:我已经尝试过此操作 -
foreach (var item in itemInList)
{
foreach (var l in lineInHosts)
{
string itemName;
ListViewItem foundItem;
if (item == l)
{
itemName = item.ToString();
foundItem = listView1.FindItemWithText(itemName);
foundItem.Checked = true;
}
}
}
但它不起作用。
Can anyone help me to solve my little trouble?
I'm writing an app to work with text files. And I have GUI which contains a listView with checkboxes for each item.
I've created 2 arrays:
1st for items in listView and 2nd for all lines in a text file
string[] itemInList = new string[] { listView1.Items.ToString()
string[] lineInHosts = File.ReadAllLines(C:\Test.txt).ToArray<string>();
The idea is to compare all lines in "C:\Test.txt" file and all items in the listView.
If there will be a match, I want this item to be item.Checked = true;
PS: I've tried this -
foreach (var item in itemInList)
{
foreach (var l in lineInHosts)
{
string itemName;
ListViewItem foundItem;
if (item == l)
{
itemName = item.ToString();
foundItem = listView1.FindItemWithText(itemName);
foundItem.Checked = true;
}
}
}
but it doesn't work.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
第一行应该不同,第二个循环效率不高:
First line should be different and the second loop is not efficient:
这一行看起来很可疑:)
itemInList 中只有一项,并且它会像您的类型一样被调用。
而是使用:
This line looks suspicious :)
There will be only one item in itemInList, and it will be called like your type.
Instead use:
尝试下面的答案,希望它能节省某人的时间
Try below answer, hope it will save someone's time