#c# #winforms #application-settings
#c# #winforms #приложение-настройки
Вопрос:
как я могу сохранить / загрузить элементы toolstripmenuitem / коллекцию в properties.default.settings в c #? Или сериализовать в xml? Какой тип списка я должен использовать? чем ты, Андриус
Комментарии:
1. что именно вы хотите сохранить? название элемента? тип? положение? все?
2. Название элемента и текст элемента. Спасибо
Ответ №1:
Ну, вы можете создать простой сериализуемый класс со свойствами 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; }
}
Комментарии:
1. Рениуз, большое тебе спасибо. И как я могу загрузить список элементов обратно в toolStrip1. Элементы?