1 public class applicationSettings
2 {
3
4 PRivate bool appSettingsChanged;
5 // 用于存儲(chǔ)應(yīng)用程序設(shè)置的變量。
6
7 private Point formLocation;
8
9 public Point FormLocation
10 {
11 get { return formLocation; }
12 set
13 {
14 if (value != formLocation)
15 {
16 formLocation = value;
17 appSettingsChanged = true;
18 }
19 }
20 }
21
22
23 // 從配置文件中反序列化類。
24 public bool LoadAppSettings()
25 {
26 xmlSerializer mySerializer = null;
27 FileStream myFileStream = null;
28 bool fileExists = false;
29
30 try
31 {
32 // 為 ApplicationSettings 類型創(chuàng)建 XmlSerializer。
33 mySerializer = new XmlSerializer(typeof(ApplicationSettings));
34 FileInfo fi = new FileInfo(Application.LocalUserAppDataPath
35 + @"/myApplication.config");
36 // 如果配置文件存在,將其打開。
37 if (fi.Exists)
38 {
39 myFileStream = fi.OpenRead();
40 // 反序列化配置文件以創(chuàng)建新的
41 // ApplicationSettings 實(shí)例。
42 ApplicationSettings myAppSettings =
43 (ApplicationSettings)mySerializer.Deserialize(
44 myFileStream);
45 // 為 ApplicationSettings 類的這一實(shí)例
46 // 分配屬性值。
47 this.formLocation = myAppSettings.FormLocation;
48 fileExists = true;
49 }
50 }
51 catch (Exception ex)
52 {
53 MessageBox.Show(ex.Message);
54 }
55 finally
56 {
57 // 如果 FileStream 是打開的,將其關(guān)閉。
58 if (myFileStream != null)
59 {
60 myFileStream.Close();
61 }
62 }
63
64
65 return fileExists;
66 }
67
68 // 如果設(shè)置發(fā)生變化,則將
69 // 類序列化到配置文件中。
70 public bool SaveAppSettings()
71 {
72 if (this.appSettingsChanged)
73 {
74 StreamWriter myWriter = null;
75 XmlSerializer mySerializer = null;
76 try
77 {
78 // 為 ApplicationSettings 類型
79 // 創(chuàng)建 XmlSerializer。
80 mySerializer = new XmlSerializer(
81 typeof(ApplicationSettings));
82 myWriter =
83 new StreamWriter(Application.LocalUserAppDataPath
84 + @"/myApplication.config", false);
85 // 將 ApplicationSettings 類的這一實(shí)例
86 // 序列化到配置文件中。
87 mySerializer.Serialize(myWriter, this);
88 }
89 catch (Exception ex)
90 {
91 MessageBox.Show(ex.Message);
92 }
93 finally
94 {
95 // 如果 FileStream 是打開的,將其關(guān)閉。
96 if (myWriter != null)
97 {
98 myWriter.Close();
99 }
100 }
101 }
102 return appSettingsChanged;
103 }
104 }
出處:ting BLOG
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注