简体   繁体   English

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

[英]how to save/load toolstripmenuitem items/collection to properties.default.settings? (C#)

how i can to save/load toolstripmenuitem items/collection to properties.default.settings in c#? 我如何在c#中将工具tripmenuitem项目/集合保存/加载到properties.default.settings中? Or serialize to xml? 或序列化为xml? What type of list I have to use? 我必须使用哪种类型的列表? than you, Andrius 比你Andrius

Well you can create simple serializable class with Name and Text properties, fill list and serialize/deserialize list like so: 好吧,您可以使用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.

相关问题 如何在C#中保存默认上下文设置? - How to save default context settings in c#? 如何在 C# 中向 MenuStrip 的 ToolStripMenuItem 添加子项 - How to Add Sub Items to a MenuStrip's ToolStripMenuItem in C# 使用 Properties.Default.Settings 时,应用程序会在名称空间中创建带有“_”的文件夹 - Application creates folder with "_" in place for space in name when using Properties.Default.Settings 为什么 C# Properties.settings.default.key 在 Properties.Settings.Default.save() 之后不读取更新的值? - Why doesn't the C# Properties.settings.default.key read the updated value after a Properties.Settings.Default.save()? 如何在C#中访问properties.settings.default字段的事件? - How to access events of a properties.settings.default field in C#? 如何在第二个表单中写入 Properties.Settings.Default? C# - How to write on Properties.Settings.Default in second Form? C# 如何在 c# 中添加 Properties.Settings.Default - How to add Properties.Settings.Default in c# 如何将列表框中的项目输入到Settings.Default C# - How to get items in listbox in to Settings.Default C# 如何在“ListView”中保存详细信息并将其加载(属性设置) - how to save details in "ListView" and load it in (properties settings) C# 属性.设置.默认 - C# Properties.Settings.Default
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM