Запись/загрузка класса в/из 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();
        }       
    }
    
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.308 из 5