void LoadOrStoreSettings(bool store) { try { string folder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), Assembly.GetExecutingAssembly().GetName().Name); if (!Directory.Exists(folder)) Directory.CreateDirectory(folder); string filename = Path.Combine(folder, SETTINGS_FILENAME); using (FileStream fs = new FileStream(filename, (store ? FileMode.Create : FileMode.Open))) { if (store) Settings.WriteSettings(mSettings, fs); else mSettings = Settings.ReadSettings(fs); fs.Close(); } } catch (Exception) { if (store) MessageBox.Show("Failed to store settings file!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); else mSettings = new Settings(); } }
public static void WriteSettings(Settings s, Stream stream) { BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(stream, s); }