using System.Xml;//引用Xml的命名空间
读取App.config配置文件
private static string SelectValueByKey(string strKey)
{
string result="";
XmlDocument doc = new XmlDocument();
//获得配置文件的全路径
string strFileName = "../../App.config";//App.config位于根目录下
doc.Load(strFileName);
//找出名称为“add”的所有元素
XmlNodeList nodes = doc.GetElementsByTagName("add");
for (int i = 0; i < nodes.Count; i++)
{
//获得将当前元素的key属性
XmlAttribute att = nodes[i].Attributes["key"];
//根据元素的第一个属性来判断当前的元素是不是目标元素
if (att.Value == strKey)
{
//对目标元素中的第二个属性赋值
XmlAttribute zf = nodes[i].Attributes["value"];
result=zf.Value;
break;
}
}
//返回Value的值
return result.ToString();
}
修改App.config配置文件
private void SaveConfig(string ConnenctionString, string strKey)
{
XmlDocument doc = new XmlDocument();
//获得配置文件的全路径
string strFileName = "../../App.config";//App.config位于根目录下
doc.Load(strFileName);
//找出名称为“add”的所有元素
XmlNodeList nodes = doc.GetElementsByTagName("add");
for (int i = 0; i < nodes.Count; i++)
{
//获得将当前元素的key属性
XmlAttribute att = nodes[i].Attributes["key"];
//根据元素的第一个属性来判断当前的元素是不是目标元素
if (att.Value == strKey)
{
//对目标元素中的第二个属性赋值
att = nodes[i].Attributes["value"];
att.Value = ConnenctionString;
break;
}
}
//保存上面的修改
doc.Save(strFileName);
}
保存按钮上鼠标单击的代码:
private void btnSave_Click(object sender, EventArgs e)
{
//服务器IP
string IP = this.txtIP.Text.Trim();
if (IP==string.Empty)
{
MessageBox.Show("请输入IP");
this.txtIP.Focus();
return;
}
//端口
string DK = this.txtDK.Text.Trim();
if (DK==string.Empty)
{
MessageBox.Show("请输入端口");
this.txtDK.Focus();
return;
}
//数据库名
string sqlName = this.txtSqlName.Text.Trim();
if (sqlName==string.Empty)
{
MessageBox.Show("请输入数据库名");
this.txtSqlName.Focus();
return;
}
//用户名
string User = this.txtUser.Text.Trim();
if (User==string.Empty)
{
MessageBox.Show("请输入用户名");
this.txtUser.Focus();
return;
}
//密码
string pwd = this.txtPwd.Text.Trim();
if (pwd==string.Empty)
{
MessageBox.Show("请输入密码");
}
//修改App.config文件(调用SaveConfig()方法来修改)
SaveConfig(IP, "ServerIP");
SaveConfig(DK, "port");
SaveConfig(sqlName, "DataBase");
SaveConfig(User, "user");
SaveConfig(pwd, "password");
MessageBox.Show("保存成功!");
}
窗体头部加载代码:
private void FrmServer_Load(object sender, EventArgs e)
{
//在文本框备注里显示当前配置信息(方法一)
this.txtIP.WatermarkText =SelectValueByKey("ServerIP");//服务器IP,用SelectValueByKey()方法来查询
this.txtDK.WatermarkText =SelectValueByKey("port");//端口
this.txtSqlName.WatermarkText =SelectValueByKey("DataBase");//数据库名
this.txtUser.WatermarkText =SelectValueByKey("user");//用户名
this.txtPwd.WatermarkText =SelectValueByKey("password");//密码
//在文本框备注里显示当前配置信息(方法二)
this.txtIP.WatermarkText =System.Configuration.ConfigurationManager.AppSettings["ServerIP"];//服务器IP
this.txtDK.WatermarkText =System.Configuration.ConfigurationManager.AppSettings["port"];//端口
this.txtSqlName.WatermarkText=System.Configuration.ConfigurationManager.AppSettings["DataBase"];//数据库名
this.txtUser.WatermarkText =System.Configuration.ConfigurationManager.AppSettings["user"];//用户名
this.txtPwd.WatermarkText =System.Configuration.ConfigurationManager.AppSettings["password"];//密码
}