[英]how to save/load toolstripmenuitem items/collection to properties.default.settings? (C#)
我如何在c#中将工具tripmenuitem项目/集合保存/加载到properties.default.settings中? 或序列化为xml? 我必须使用哪种类型的列表? 比你Andrius
好吧,您可以使用Name和Text属性,填充列表和序列化/反序列化列表创建简单的可序列化类,如下所示:
private XmlSerializer xmlSerializer = new XmlSerializer(typeof(List<MySaveItems>));
private void SerializeToFile()
{
using (MemoryStream ms = new MemoryStream(5 * 1024))
{
List<MySaveItems> mySaveItemses = new List<MySaveItems>();
foreach (ToolStripItem item in toolStrip1.Items)
{
MySaveItems mySaveItem = new MySaveItems();
mySaveItem.name = item.Name;
mySaveItem.text = item.Text;
mySaveItemses.Add(mySaveItem);
}
xmlSerializer.Serialize(ms, mySaveItemses);
File.WriteAllBytes("c:\\ToolStripItems.xml", ms.ToArray());
}
}
private void DeserializeFromFile()
{
using (StreamReader ms = new StreamReader("c:\\ToolStripItems.xml"))
{
List<MySaveItems> mySaveItemses;
mySaveItemses = (List<MySaveItems>)xmlSerializer.Deserialize(ms);
}
}
[Serializable]
public class MySaveItems
{
public MySaveItems()
{
}
[XmlElement]
public string name { get; set; }
[XmlElement]
public string text { get; set; }
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.