@CYBERGAMER

Какой тип задать или как конвертировать?

Привет всем!

Я сделал через XML сохранение и получение настроек в приложении.
Если с текстом все вроде понятно, то какой тип мне указать для свойства цвета формы?

Я использую класс который записывает в XML настройки, пока только значение в label и там указана строка:

public string Name { get; set; }

Которая и получает эти данные и записывает их в xml. Если я к примеру меняю цвет фона формы, я хочу чтобы эта настройка также передавалась и сохранялась в xml и потом уже автоматически оставалась при новом открытии.

Вопрос: Мне нужно какой то определенный тип задать для сохранения параметров цвета или как то его конвертировать и потом уже передавать?

Сам класс:
public class CFG
    {
        public static CFG GetCFG()
        {
            CFG settings = null;
            String filename = PathCFG.CFGFile;

            if (File.Exists(filename)) // Используем настройки если они есть
            {
                using (FileStream fs = new FileStream(filename, FileMode.Open))
                {
                    XmlSerializer xser = new XmlSerializer(typeof(CFG));
                    settings = (CFG)xser.Deserialize(fs);
                    fs.Close();
                }
            }
            else settings = new CFG();
            return settings;
        }
        public void Save()
        {
            // Реализация сохранения настроек
            string filename = PathCFG.CFGFile;

            if (File.Exists(filename)) File.Delete(filename);
            using (FileStream fs = new FileStream(filename, FileMode.Create))
            {
                XmlSerializer xser = new XmlSerializer(typeof(CFG));
                xser.Serialize(fs, this);
                fs.Close();
            }
        }

        // То что будет использовать
        public string Name { get; set; }
        public ? Color { get; set; } // <---- это для цвета фона формы
    }


Код формы:
public partial class Form1 : Form
    {
        CFG _setting = null;
        public Form1()
        {
            InitializeComponent();
            _setting = CFG.GetCFG();
            _initControls();
        }

        private void _initControls() // То что будет хранить и записывать CFG
        {
            label1.Text = _setting.Name;
        }

        private void Button1_Click(object sender, EventArgs e)
        {
             label1.Text = textBox1.Text;
            this.BackColor = Color.Red;
            /////////////////////////////////
            _setting.Name = label1.Text;
            _setting.Color = this.BackColor; // <-- От сюда забирает цвет
            _setting.Save();
        }
    }
  • Вопрос задан
  • 50 просмотров
Решения вопроса 1
@CYBERGAMER Автор вопроса
Сам нашел ответ, если кому нужно тут.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы