簡體   English   中英

如何保存/加載工具tripmenuitem項目/集合到properties.default.settings? (C#)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM