【发布时间】:2019-09-30 23:33:10
【问题描述】:
我在使用 Visual Studio C# listview 项目时遇到问题,我无法通过谷歌搜索找到解决方案。
我用列表视图制作了应用程序,我可以添加、删除、更新列表视图项目。 我正在使用以下代码正确地保存和加载列表视图到文件/从文件中加载:
private void saveListViewItems(string path, ListView lv)
{
var delimeteredListviewData = new List<string>();
string delimeteredItems = string.Empty;
foreach (ListViewItem lvi in lv.Items)
{
foreach (ListViewItem.ListViewSubItem lvsi in lvi.SubItems)
{
delimeteredItems += lvsi.Text + "#";
}
delimeteredListviewData.Add(delimeteredItems);
}
System.IO.File.WriteAllLines(path, delimeteredListviewData.ToArray());
}
private void loadListViewItems(string path, ListView lv)
{
foreach (string line in System.IO.File.ReadAllLines(path))
{
lv.Items.Add(new ListViewItem(line.Split(new char[] { '#' }, StringSplitOptions.RemoveEmptyEntries)));
}
}
问题是我已激活每个项目旁边的复选框。我无法在选中复选框的情况下保存列表视图项目。我想保存列表视图并加载所选项目。谢谢
【问题讨论】:
-
您可以将项目以具有
checkedstate,from,to,comment的每一行的格式保存到文件中,并通过解析加载。所以你可以实现方法SaveListBox(ListView sender, string filename)和LoadListBox(ListView sender, string filename),你可以使用Split(',')。 -
感谢回复,但我需要一个完整的解决方案
标签: c# visual-studio listview checkbox