Привет всем!
Я сделал через 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();
}
}