XML (Extensible Markup Language) is a flexible way to create
common information formats and share both the format and the data on the World
Wide Web, intranets, and elsewhere. XML is a set of rules, published by the
World Wide WebConsortium, for building new languages. The languages in question
are not written or spoken primarily for human consumption.
This
demonstration showing how can we save color setting of textboxes and get color
setting of textboxes from xml file, we change backcolor and foreColor of
textbox and when we want when our application will be run on the system
BackColor and foreColor of textboxes should be previously color setting, it
means previous color setting of textbox should display, this demonstration will
help to save color setting of textbox in XML format and also get color from XML
file.
Code
public partial class Form1 : Form
{
publicForm1()
{
InitializeComponent();
}
ColorDialog cd= new ColorDialog();//creating the instance of ColorDialog
intflag=0;//creating int variable
privatevoidForm1_Load(objectsender, EventArgse)
{
XmlReaderSettingssetting= new XmlReaderSettings();//creating object of xmlReaderSetting class it will read xml file
setting.IgnoreWhitespace= true;//ignoring whit space in xml file
using (XmlReaderreader=XmlReader.Create("D:\\Sachindra\\ColorChange\\ColorChange\\bin\\Debug\\ColorChange.xml", setting))//providing path where xml file is save
{
while (reader.Read())//loop executing
{
if (reader.NodeType==XmlNodeType.Element&& reader.Name=="txtBox1BackColor")//checking condition
{
stringstrCmb1= reader.ReadElementString();//storing value of txtBox1BackColor element(backcolor) in string variable
txtBox1.BackColor=System.Drawing.ColorTranslator.FromHtml(strCmb1);//converting string value into color and changing backcolor of textbox
}
if (reader.NodeType==XmlNodeType.Element&& reader.Name=="txtBox1ForeColor")//checking condition
{
stringstrCmb1= reader.ReadElementString();//storing value of txtBox1BackColor element (backcolor) in string variable
txtBox1.ForeColor=System.Drawing.ColorTranslator.FromHtml(strCmb1);//converting string value into color and changing forecolor of textbox
}
if (reader.NodeType==XmlNodeType.Element&& reader.Name=="txtBox2BackColor")//checking condition
{
stringstrCmb1= reader.ReadElementString();//storing value of txtBox2BackColor element(backcolor) in string variable
txtBox2.BackColor=System.Drawing.ColorTranslator.FromHtml(strCmb1);//converting string value into color and changing backcolor of textbox
}
if (reader.NodeType==XmlNodeType.Element&& reader.Name=="txtBox2ForeColor")//checking condition
{
stringstrCmb1= reader.ReadElementString();//storing value of txtBox2ForeColor element in string variable
txtBox2.ForeColor=System.Drawing.ColorTranslator.FromHtml(strCmb1);//converting string value into color and changing backcolor of textbox
}
if (reader.NodeType==XmlNodeType.Element&& reader.Name=="txtBox3BackColor")//checking condition
{
stringstrCmb1= reader.ReadElementString();//storing value of txtBox3BackColor element in string variable
txtBox3.BackColor=System.Drawing.ColorTranslator.FromHtml(strCmb1);//converting string value into color and changing backcolor of textbox
}
if (reader.NodeType==XmlNodeType.Element&& reader.Name=="txtBox3ForeColor")//checking condition
{
stringstrCmb1= reader.ReadElementString();//storing value of txtBox3ForeColor element in string variable
txtBox3.ForeColor=System.Drawing.ColorTranslator.FromHtml(strCmb1);//converting string value into color and changing backcolor of textbox
}
}
}
}
privatevoid btnColorDialog1_Click(object sender, EventArgse)
{
if (flag==0)//checking condition
{
cd.ShowDialog();//it will show color dialog
txtBox1.BackColor=cd.Color;//setting backcolor of textbox
}
if (flag==1)//checking condtion
{
cd.ShowDialog();//it will show color dialog
txtBox1.ForeColor=cd.Color;//setting forecolor of textbox
flag =0;//initializing flag from 0
}
}
privatevoid txtBox1_MouseCaptureChanged(object sender, EventArgse)
{
flag=1;//initializing flag from 1 when txtBox1 get MouseCapture event will raise
}
privatevoid btnColorDailog2_Click(object sender, EventArgse)
{
if (flag==0)//checking condition
{
cd.ShowDialog();//it will show color dialog
txtBox2.BackColor=cd.Color;//setting backcolor of textbox
}
if (flag==1)//checking condtion
{
cd.ShowDialog();//it will show color dialog
txtBox2.ForeColor=cd.Color;//setting forecolor of textbox
flag =0;//initializing flag from 0
}
}
privatevoid txtBox2_MouseCaptureChanged(object sender, EventArgse)
{
flag=1;//initializing flag from 1 when txtBox2 get MouseCapture event will raise
}
privatevoid btnColorDialog3_Click(object sender, EventArgse)
{
if (flag==0)//checking condition
{
cd.ShowDialog();//it will show color dialog
txtBox3.BackColor=cd.Color;//setting backcolor of textbox
}
if (flag==1)//checking condtion
{
cd.ShowDialog();//it will show color dialog
txtBox3.ForeColor=cd.Color;//setting forecolor of textbox
flag =0;//initializing flag from 0
}
}
privatevoid txtBox3_MouseCaptureChanged(object sender, EventArgse)
{
flag=1;//initializing flag from 1 when txtBox3 get MouseCapture event will raise
}
privatevoidbtn_Click(objectsender, EventArgse)
{
XmlWriterSettingssetting= new XmlWriterSettings();//creating object of XmlWriterSettings that write data in xml format
setting.Indent=true;
setting.IndentChars= " ";
setting.NewLineOnAttributes= true;
using (XmlWriterwrite=XmlWriter.Create("D:\\Sachindra\\ColorChange\\ColorChange\\bin\\Debug\\ColorChange.xml", setting))//passing path and write storing path where file will be write
{
write.WriteStartElement("Color");//root element
write.WriteStartElement("ChangeColor");//element
write.WriteElementString(txtBox1.Name+ "BackColor", System.Drawing.ColorTranslator.ToHtml(txtBox1.BackColor));//writing textbox name and backcolor in xml format
write.WriteElementString(txtBox1.Name+ "ForeColor", System.Drawing.ColorTranslator.ToHtml(txtBox1.ForeColor));//writing textbox name and forecolor in xml format
write.WriteElementString(txtBox2.Name+ "BackColor", System.Drawing.ColorTranslator.ToHtml(txtBox2.BackColor));//writing textbox name and backcolor in xml format
write.WriteElementString(txtBox2.Name+ "ForeColor", System.Drawing.ColorTranslator.ToHtml(txtBox2.ForeColor));//writing textbox name and forecolor in xml format
write.WriteElementString(txtBox3.Name+ "BackColor", System.Drawing.ColorTranslator.ToHtml(txtBox3.BackColor));//writing textbox name and backcolor in xml format
write.WriteElementString(txtBox3.Name+ "ForeColor", System.Drawing.ColorTranslator.ToHtml(txtBox3.ForeColor));//writing textbox name and forecolor in xml format
write.WriteEndElement();//closing element
write.Flush();//flush method use for forcefully to write data
}
}
privatevoidbutton1_Click(objectsender, EventArgse)
{
this.Close();//apllication will be close
}
}
This demonstration showing backcolor and forecolor of texboxes has changed and when we click on save button it will save in XML format.
After color changes of textboxes XML file will save setting of backcolor and forecolor of textboxes in XML format as shown below:
This is the simple demonstration on "how to read xml and write xml in c#.net".
Kenny Tangnde
20-Oct-2011Hi Sechindra,
this a nice article,I hope you release more good articles in the near.
thanks!
Anonymous User
13-Oct-2011this is great stuff, thanks for sharing with us.