using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Xml; namespace XMLSettings { public partial class ChangeSettings : Form { public ChangeSettings() { InitializeComponent(); } private void comboBox2_SelectedIndexChanged(object sender, EventArgs e) { } private void FillCombos() { cboBackColor.Items.Add("Black"); cboBackColor.Items.Add("blue"); cboBackColor.Items.Add("Yellow"); cboBackColor.Items.Add("Red"); cboBackColor.Items.Add("Magenta"); cboBackColor.Items.Add("White"); cboFontColor.Items.Add("Black"); cboFontColor.Items.Add("blue"); cboFontColor.Items.Add("Yellow"); cboFontColor.Items.Add("Red"); cboFontColor.Items.Add("Magenta"); cboFontColor.Items.Add("White"); } private void WriteChanges() { /******************************** * this is just the reverse of what we * did to read the file * Here we iterate to each node and * assign the value from the textbox or * combo box to the inner text of the * node * *********************************/ XmlNodeList xnodes; XmlDocument doc = new XmlDocument(); doc.Load("../../Settings.xml"); xnodes = doc.DocumentElement.SelectNodes("//formtitle"); foreach (XmlNode xn in xnodes) { xn.InnerText = txtTitle.Text; } xnodes = doc.DocumentElement.SelectNodes("//formbackcolor"); foreach (XmlNode xn in xnodes) { xn.InnerText = cboBackColor.SelectedItem.ToString(); } xnodes = doc.DocumentElement.SelectNodes("//labeltext"); foreach (XmlNode xn in xnodes) { xn.InnerText = this.txtLabelText.Text; } xnodes = doc.DocumentElement.SelectNodes("//fontcolor"); foreach (XmlNode xn in xnodes) { xn.InnerText = cboFontColor.SelectedItem.ToString(); } XmlTextWriter xtw = new XmlTextWriter("../../Settings.xml", System.Text.Encoding.UTF8); doc.Save(xtw); xtw.Close(); } private void button1_Click(object sender, EventArgs e) { WriteChanges(); this.Close(); } private void ChangeSettings_Load(object sender, EventArgs e) { FillCombos(); } } }