保存和加载ListView内容
本文关键字:内容 ListView 加载 保存 | 更新日期: 2023-09-27 18:01:54
我正在用c# winForm写一个应用程序,我使用ListView来存储一些数据。我需要在表单关闭时保存这个项目列表,并在表单再次打开时再次加载它。
这是在列表中添加新元素的代码:
string[] timeitem = new string[2];
timeitem[0] = txtDescription.Text;
timeitem[1] = msktime.Text;
ListViewItem lvi = new ListViewItem(timeitem);
lstTimes.Items.Add(lvi);
保存和加载这个列表的最好方法是什么?我不需要用户的对话框,这个列表应该保存并自动加载每次用户打开包含ListView项的表单。我是开放使用。txt或xml文件,无论什么是最好的/更容易处理。
您可以为此编写一个简单的辅助类:
class ListItemsHelper
{
private const string FILE_NAME = "items.dat";
public static void SaveData(Items items)
{
string data = SerializeItems(items);
File.WriteAllText(GetFilePath(), data);
}
public static Items LoadData()
{
string data = File.ReadAllText(GetFilePath());
return DeserializeItems(data);
}
private static string GetFilePath()
{
return Path.Combine(AppDomain.CurrentDomain.BaseDirectory, FILE_NAME);
}
private static string SerializeItems(Items items)
{
//Do serialization here
}
private static Items DeserializeItems(string data)
{
//Do deserialization here
}
}
使用:
ItemsStateHelper.SaveData(items);
Items data = ItemsStateHelper.LoadData();
另外,您必须包含一些异常处理并选择要保存文件的位置。在我发布的代码中,它保存在exe文件所在的文件夹中。