Запись/загрузка класса в/из xml - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Помогите примером, пожалуйста, так как третий день не могу єто сделать. Есь форма, в ней 4 чекбокса.Отдельно создан класс где объявлены 4 переменные, в зависимости от значений которых, чекбоксы должны менять свое состояние. При закрытии формы текущее состояние чекбоксов сохраняется в xml, откуда и загружается при повторном открытии формы. З.Ы. Я код-то написал, но xml-файл у меня получается пустой. Где-то сделал ошибку, а где понять не могу, поэтому и нужен пример, чтобы сравнить...

Решение задачи: «Запись/загрузка класса в/из xml»

textual
Листинг программы
  1.  public partial class SymbolsList : Form
  2.     {
  3.         public SymbolsList()
  4.         {
  5.             GlobalVars.WorkList.Clear();
  6.             SymbolListSettings.Load(); //<< Ошибка была, т.к. SymbolListSettings.settings изначально null
  7.             InitializeComponent();                        
  8.         }
  9.         private void checkBox0_CheckedChanged(object sender, EventArgs e)
  10.         {
  11.             Symbol n = new Symbol();
  12.             if (checkBox0.Checked)
  13.             {
  14.  
  15.                 n.picture = Properties.Resources._0;
  16.                 n.request = Properties.Resources.find_me_number;
  17.                 n.sound = Properties.Resources.n0;
  18.                 n.Kcode1 = Keys.NumPad0;
  19.                 n.Kcode2 = Keys.D0;
  20.                 n.type = 1;
  21.                 n.activ = true;
  22.  
  23.                 GlobalVars.WorkList.Add(n);
  24.             }
  25.         }
  26.  
  27.         private void checkBox1_CheckedChanged(object sender, EventArgs e)
  28.         {
  29.             Symbol n = new Symbol();
  30.             if (checkBox1.Checked)
  31.             {
  32.                
  33.                 n.picture = Properties.Resources._1;
  34.                 n.request = Properties.Resources.find_me_number;
  35.                 n.sound = Properties.Resources.n1;
  36.                 n.Kcode1 = Keys.NumPad1;
  37.                 n.Kcode2 = Keys.D1;
  38.                 n.type = 1;
  39.                 n.activ = true;
  40.  
  41.                 GlobalVars.WorkList.Add(n);
  42.             }
  43.         }
  44.         private void checkBox2_CheckedChanged(object sender, EventArgs e)
  45.         {
  46.             Symbol n = new Symbol();
  47.             if (checkBox2.Checked)
  48.             {
  49.  
  50.                 n.picture = Properties.Resources._2;
  51.                 n.request = Properties.Resources.find_me_number;
  52.                 n.sound = Properties.Resources.n2;
  53.                 n.Kcode1 = Keys.NumPad2;
  54.                 n.Kcode2 = Keys.D2;
  55.                 n.type = 1;
  56.                 n.activ = true;
  57.  
  58.                 GlobalVars.WorkList.Add(n);
  59.             }
  60.         }
  61.         private void checkBox3_CheckedChanged(object sender, EventArgs e)
  62.         {
  63.             Symbol n = new Symbol();
  64.             if (checkBox3.Checked)
  65.             {
  66.  
  67.                 n.picture = Properties.Resources._3;
  68.                 n.request = Properties.Resources.find_me_number;
  69.                 n.sound = Properties.Resources.n3;
  70.                 n.Kcode1 = Keys.NumPad3;
  71.                 n.Kcode2 = Keys.D3;
  72.                 n.type = 1;
  73.                 n.activ = true;
  74.  
  75.                 GlobalVars.WorkList.Add(n);
  76.             }
  77.         }
  78.  
  79.         private void LoadList() //завантаження станів чекбоксів із класса
  80.         {
  81.             checkBox0.Checked = SymbolListSettings.settings.ck0;
  82.             checkBox1.Checked = SymbolListSettings.settings.ck1;
  83.             checkBox2.Checked = SymbolListSettings.settings.ck2;
  84.             checkBox3.Checked = SymbolListSettings.settings.ck3;
  85.  
  86.         }
  87.         private void SaveList() //запис стану чекбоксів в клас
  88.         {
  89.             SymbolListSettings.settings.ck0 = checkBox0.Checked;
  90.             SymbolListSettings.settings.ck1 = checkBox1.Checked;
  91.             SymbolListSettings.settings.ck2 = checkBox2.Checked;
  92.             SymbolListSettings.settings.ck3 = checkBox3.Checked;
  93.         }
  94.  
  95.         private void button_OK_Click(object sender, EventArgs e)
  96.         {
  97.             SaveList();
  98.             SymbolListSettings.settings.Save();
  99.             Close();
  100.         }      
  101.     }
  102.    
  103. }

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут