Запись/загрузка класса в/из xml - C#
Формулировка задачи:
Доброго времени суток!
Помогите примером, пожалуйста, так как третий день не могу єто сделать.
Есь форма, в ней 4 чекбокса.Отдельно создан класс где объявлены 4 переменные, в зависимости от значений которых, чекбоксы должны менять свое состояние. При закрытии формы текущее состояние чекбоксов сохраняется в xml, откуда и загружается при повторном открытии формы.
З.Ы.
Я код-то написал, но xml-файл у меня получается пустой. Где-то сделал ошибку, а где понять не могу, поэтому и нужен пример, чтобы сравнить...
Решение задачи: «Запись/загрузка класса в/из xml»
textual
Листинг программы
public partial class SymbolsList : Form { public SymbolsList() { GlobalVars.WorkList.Clear(); SymbolListSettings.Load(); //<< Ошибка была, т.к. SymbolListSettings.settings изначально null InitializeComponent(); } private void checkBox0_CheckedChanged(object sender, EventArgs e) { Symbol n = new Symbol(); if (checkBox0.Checked) { n.picture = Properties.Resources._0; n.request = Properties.Resources.find_me_number; n.sound = Properties.Resources.n0; n.Kcode1 = Keys.NumPad0; n.Kcode2 = Keys.D0; n.type = 1; n.activ = true; GlobalVars.WorkList.Add(n); } } private void checkBox1_CheckedChanged(object sender, EventArgs e) { Symbol n = new Symbol(); if (checkBox1.Checked) { n.picture = Properties.Resources._1; n.request = Properties.Resources.find_me_number; n.sound = Properties.Resources.n1; n.Kcode1 = Keys.NumPad1; n.Kcode2 = Keys.D1; n.type = 1; n.activ = true; GlobalVars.WorkList.Add(n); } } private void checkBox2_CheckedChanged(object sender, EventArgs e) { Symbol n = new Symbol(); if (checkBox2.Checked) { n.picture = Properties.Resources._2; n.request = Properties.Resources.find_me_number; n.sound = Properties.Resources.n2; n.Kcode1 = Keys.NumPad2; n.Kcode2 = Keys.D2; n.type = 1; n.activ = true; GlobalVars.WorkList.Add(n); } } private void checkBox3_CheckedChanged(object sender, EventArgs e) { Symbol n = new Symbol(); if (checkBox3.Checked) { n.picture = Properties.Resources._3; n.request = Properties.Resources.find_me_number; n.sound = Properties.Resources.n3; n.Kcode1 = Keys.NumPad3; n.Kcode2 = Keys.D3; n.type = 1; n.activ = true; GlobalVars.WorkList.Add(n); } } private void LoadList() //завантаження станів чекбоксів із класса { checkBox0.Checked = SymbolListSettings.settings.ck0; checkBox1.Checked = SymbolListSettings.settings.ck1; checkBox2.Checked = SymbolListSettings.settings.ck2; checkBox3.Checked = SymbolListSettings.settings.ck3; } private void SaveList() //запис стану чекбоксів в клас { SymbolListSettings.settings.ck0 = checkBox0.Checked; SymbolListSettings.settings.ck1 = checkBox1.Checked; SymbolListSettings.settings.ck2 = checkBox2.Checked; SymbolListSettings.settings.ck3 = checkBox3.Checked; } private void button_OK_Click(object sender, EventArgs e) { SaveList(); SymbolListSettings.settings.Save(); Close(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д