Иногда возникает ситуация когда нужно чтоб настройки вашей программы били сохранены (сохранение смены интерфейса, локализации программы, автозагрузка и т.д.) и многие начинающие программисты не знают как это сделать (сам когда то искал :)).
Сегодня я вам расскажу как сохранять настройки в XML файл, а не через стандартные средства C#. Почему через XML? Это чтоб программа била переносимой без различного "геморроя".
Теперь чтоб использовать класс для сохранения настрой сделаем следующие:
1. Расположим на форме две кнопки (Button) одна для записи настроек, а другая для чтения, один checkBox - автозагрузка приложения и comboBox - так просто:)
2. Пишем код для записи настроек с компонентов
На этом все, далее разбирайтесь сами, если что то непонятно пишите в комментариях!
P.S. В статье "Делаем шкуры для программ" можно использовать сохранение настроек которые я здесь описал.
Удачи в программировании!
Скачать проект.
Сегодня я вам расскажу как сохранять настройки в XML файл, а не через стандартные средства C#. Почему через XML? Это чтоб программа била переносимой без различного "геморроя".
И так приступим.
1. Для начала нам потребуется создать проект WinForms.
2. Добавим в проект новый класс под именем Props и напишем следующий код:
01.
using
System;
02.
//Надо добавить для работы класса
03.
using
System.Xml.Serialization;
04.
using
System.IO;
05.
06.
namespace
XMLFileSettings
07.
{
08.
//Класс определяющий какие настройки есть в программе
09.
public
class
PropsFields
10.
{
11.
//Путь до файла настроек
12.
public
String XMLFileName = Environment.CurrentDirectory +
"\\settings.xml"
;
13.
14.
//Чтобы добавить настройку в программу просто добавьте суда строку вида -
15.
//public ТИП ИМЯ_ПЕРЕМЕННОЙ = значение_переменной_по_умолчанию;
16.
public
String TextValue = @
"File Settings"
;
17.
public
DateTime DateValue =
new
DateTime(2011, 1, 1);
18.
public
Decimal DecimalValue = 555;
19.
public
Boolean BoolValue =
true
;
20.
}
21.
22.
//Класс работы с настройками
23.
public
class
Props
24.
{
25.
public
PropsFields Fields;
26.
27.
public
Props()
28.
{
29.
Fields =
new
PropsFields();
30.
}
31.
32.
//Запист настроек в файл
33.
public
void
WriteXml()
34.
{
35.
XmlSerializer ser =
new
XmlSerializer(
typeof
(PropsFields));
36.
TextWriter writer =
new
StreamWriter(Fields.XMLFileName);
37.
ser.Serialize(writer, Fields);
38.
writer.Close();
39.
}
40.
//Чтение настроек из файла
41.
public
void
ReadXml()
42.
{
43.
if
(File.Exists(Fields.XMLFileName)){
44.
XmlSerializer ser =
new
XmlSerializer(
typeof
(PropsFields));
45.
TextReader reader =
new
StreamReader(Fields.XMLFileName);
46.
Fields = ser.Deserialize(reader)
as
PropsFields;
47.
reader.Close();
48.
}
49.
else
{
//можно написать вывод какова то сообщения если файла не существует}50.
}
51.
}
52.
}
Теперь чтоб использовать класс для сохранения настрой сделаем следующие:
1. Расположим на форме две кнопки (Button) одна для записи настроек, а другая для чтения, один checkBox - автозагрузка приложения и comboBox - так просто:)
2. Пишем код для записи настроек с компонентов
01.
using
System;
02.
using
System.Windows.Forms;
03.
04.
namespace
XMLFileSettings
05.
{
06.
public
partial
class
Form1 : Form
07.
{
08.
#region Settings action
09.
Props props =
new
Props(); //экземпляр класса с настройками
10.
11.
//Запись настроек
12.
private
void
writeSetting()
13.
{
14.
//запись состояния ComboBox115.
props.Fields.TextValue = ComboBox1.Text;16.
//запись состояния checkBox117.
props.Fields.BoolValue = checkBox1.Checked;
18.
19.
props.WriteXml();
20.
}
21.
22.
//Чтение настроек
23.
private
void
readSetting()
24.
{
25.
props.ReadXml();
26.
27.
ComboBox1.Text = props.Fields.TextValue;
28.
29.
30.
checkBox1.Checked = props.Fields.BoolValue;
31.
}
32.
#endregion
33.
34.
#region Form Action
35.
public
Form1()
36.
{
37.
InitializeComponent();
38.
}
39.
//события клика на кнопку Save40.
private
void
button1_Click(
object
sender, EventArgs e)
41.
{
42.
readSetting();
43.
}
//события клика на кнопку Read
44.
private
void
button2_Click(
object
sender, EventArgs e)
45.
{
46.
writeSetting();
47.
}
48.
#endregion
49.
}
50.
}
На этом все, далее разбирайтесь сами, если что то непонятно пишите в комментариях!
P.S. В статье "Делаем шкуры для программ" можно использовать сохранение настроек которые я здесь описал.
Удачи в программировании!
Скачать проект.
Иногда возникает ситуация когда нужно чтоб настройки вашей программы били сохранены (сохранение смены интерфейса, локализации программы, автозагрузка и т.д.) и многие начинающие программисты не знают как это сделать (сам когда то искал :)).
Сегодня я вам расскажу как сохранять настройки в XML файл, а не через стандартные средства C#. Почему через XML? Это чтоб программа била переносимой без различного "геморроя".
Теперь чтоб использовать класс для сохранения настрой сделаем следующие:
1. Расположим на форме две кнопки (Button) одна для записи настроек, а другая для чтения, один checkBox - автозагрузка приложения и comboBox - так просто:)
2. Пишем код для записи настроек с компонентов
На этом все, далее разбирайтесь сами, если что то непонятно пишите в комментариях!
P.S. В статье "Делаем шкуры для программ" можно использовать сохранение настроек которые я здесь описал.
Удачи в программировании!
Скачать проект.
Сегодня я вам расскажу как сохранять настройки в XML файл, а не через стандартные средства C#. Почему через XML? Это чтоб программа била переносимой без различного "геморроя".
И так приступим.
1. Для начала нам потребуется создать проект WinForms.
2. Добавим в проект новый класс под именем Props и напишем следующий код:
01.
using
System;
02.
//Надо добавить для работы класса
03.
using
System.Xml.Serialization;
04.
using
System.IO;
05.
06.
namespace
XMLFileSettings
07.
{
08.
//Класс определяющий какие настройки есть в программе
09.
public
class
PropsFields
10.
{
11.
//Путь до файла настроек
12.
public
String XMLFileName = Environment.CurrentDirectory +
"\\settings.xml"
;
13.
14.
//Чтобы добавить настройку в программу просто добавьте суда строку вида -
15.
//public ТИП ИМЯ_ПЕРЕМЕННОЙ = значение_переменной_по_умолчанию;
16.
public
String TextValue = @
"File Settings"
;
17.
public
DateTime DateValue =
new
DateTime(2011, 1, 1);
18.
public
Decimal DecimalValue = 555;
19.
public
Boolean BoolValue =
true
;
20.
}
21.
22.
//Класс работы с настройками
23.
public
class
Props
24.
{
25.
public
PropsFields Fields;
26.
27.
public
Props()
28.
{
29.
Fields =
new
PropsFields();
30.
}
31.
32.
//Запист настроек в файл
33.
public
void
WriteXml()
34.
{
35.
XmlSerializer ser =
new
XmlSerializer(
typeof
(PropsFields));
36.
TextWriter writer =
new
StreamWriter(Fields.XMLFileName);
37.
ser.Serialize(writer, Fields);
38.
writer.Close();
39.
}
40.
//Чтение настроек из файла
41.
public
void
ReadXml()
42.
{
43.
if
(File.Exists(Fields.XMLFileName)){
44.
XmlSerializer ser =
new
XmlSerializer(
typeof
(PropsFields));
45.
TextReader reader =
new
StreamReader(Fields.XMLFileName);
46.
Fields = ser.Deserialize(reader)
as
PropsFields;
47.
reader.Close();
48.
}
49.
else
{
//можно написать вывод какова то сообщения если файла не существует}50.
}
51.
}
52.
}
Теперь чтоб использовать класс для сохранения настрой сделаем следующие:
1. Расположим на форме две кнопки (Button) одна для записи настроек, а другая для чтения, один checkBox - автозагрузка приложения и comboBox - так просто:)
2. Пишем код для записи настроек с компонентов
01.
using
System;
02.
using
System.Windows.Forms;
03.
04.
namespace
XMLFileSettings
05.
{
06.
public
partial
class
Form1 : Form
07.
{
08.
#region Settings action
09.
Props props =
new
Props(); //экземпляр класса с настройками
10.
11.
//Запись настроек
12.
private
void
writeSetting()
13.
{
14.
//запись состояния ComboBox115.
props.Fields.TextValue = ComboBox1.Text;16.
//запись состояния checkBox117.
props.Fields.BoolValue = checkBox1.Checked;
18.
19.
props.WriteXml();
20.
}
21.
22.
//Чтение настроек
23.
private
void
readSetting()
24.
{
25.
props.ReadXml();
26.
27.
ComboBox1.Text = props.Fields.TextValue;
28.
29.
30.
checkBox1.Checked = props.Fields.BoolValue;
31.
}
32.
#endregion
33.
34.
#region Form Action
35.
public
Form1()
36.
{
37.
InitializeComponent();
38.
}
39.
//события клика на кнопку Save40.
private
void
button1_Click(
object
sender, EventArgs e)
41.
{
42.
readSetting();
43.
}
//события клика на кнопку Read
44.
private
void
button2_Click(
object
sender, EventArgs e)
45.
{
46.
writeSetting();
47.
}
48.
#endregion
49.
}
50.
}
На этом все, далее разбирайтесь сами, если что то непонятно пишите в комментариях!
P.S. В статье "Делаем шкуры для программ" можно использовать сохранение настроек которые я здесь описал.
Удачи в программировании!
Скачать проект.
0 коммент.:
Отправить комментарий