private void menuClick(object sender, EventArgs e) { var settings = XmlFunction.DeSerializeObject <List <SettingsModel> >($"{AppDomain.CurrentDomain.BaseDirectory}settings.xml"); var setting = settings.Where(x => x.Name == ((ToolStripMenuItem)sender).Text).First(); txtPortName.Text = setting.ComPortName; txtBaudRate.Text = setting.BuadRate; cbDatabits.SelectedItem = setting.Databits; cbStopBits.SelectedItem = setting.Stopbit; cbParity.SelectedItem = setting.Parity; cbHandshake.SelectedItem = (Handshake)Enum.Parse(typeof(Handshake), setting.Handshake); }
void LoadSettings() { if (File.Exists($"{AppDomain.CurrentDomain.BaseDirectory}settings.xml")) { var settings = XmlFunction.DeSerializeObject <List <SettingsModel> >($"{AppDomain.CurrentDomain.BaseDirectory}settings.xml"); loadSettingsToolStripMenuItem.DropDownItems.Clear(); foreach (var setting in settings) { ToolStripItem subItem = new ToolStripMenuItem(setting.Name); subItem.Click += menuClick; loadSettingsToolStripMenuItem.DropDownItems.Add(subItem); } } }
private void saveSettingsToolStripMenuItem_Click(object sender, EventArgs e) { FrmSave frm = new FrmSave(); frm.ShowDialog(); if (frm.Save) { var model = new SettingsModel() { Name = frm.Name.ToString(), ComPortName = txtPortName.Text, BuadRate = txtBaudRate.Text, Databits = cbDatabits.SelectedItem.ToString(), Stopbit = cbStopBits.SelectedItem.ToString(), Parity = cbParity.SelectedItem.ToString(), Handshake = cbHandshake.SelectedItem.ToString() }; if (!File.Exists($"{AppDomain.CurrentDomain.BaseDirectory}settings.xml")) { List <SettingsModel> settings = new List <SettingsModel>(); settings.Add(model); using (File.Create($"{AppDomain.CurrentDomain.BaseDirectory}settings.xml")) { } XmlFunction.SerializeObject(settings, $"{AppDomain.CurrentDomain.BaseDirectory}settings.xml"); } else { var settings = XmlFunction.DeSerializeObject <List <SettingsModel> >($"{AppDomain.CurrentDomain.BaseDirectory}settings.xml"); settings.Add(model); XmlFunction.SerializeObject(settings, $"{AppDomain.CurrentDomain.BaseDirectory}settings.xml"); } LoadSettings(); } }