/// <summary> /// Serializes the current settings to settings.bin /// </summary> protected void SaveSettings() { ApplySettings(); Settings cfg = new Settings(); cfg.autosave = menuAutosave.Checked; cfg.autosaveinterval = autosaveinterval; cfg.autosavekey = textSaveCombo.Text; cfg.usepostmessage = menuUsePostMessage.Checked; // key bindings for (int i = 0; i < listKeyBindings.Items.Count; i++) { var theitem = listKeyBindings.Items[i]; Settings.KeyBinding bind = new Settings.KeyBinding(); bind.command = theitem.Text; bind.vkey = ((GameKey)theitem.Tag).VirtualKey; bind.delay = Convert.ToInt32(theitem.SubItems[2].Text); cfg.binds.Add(bind); } IFormatter formatter = new BinaryFormatter(); Stream stream = new FileStream("settings.bin", FileMode.Create, FileAccess.Write, FileShare.None); formatter.Serialize(stream, cfg); stream.Close(); statusBar1.Text = "Successfully saved settings."; }