WinForm中的配置文件app.Config
2013-02-05 11:42
330 查看
WinForm中的配置文件app.Config
1、和Asp.net的Web.config不同,创建winform应用时并不会默认的创建app.config。
2、如果你选定项目-添加新项-应用程序配置文件,不更改默认的App.config名称,那么你得到一个符合要求的最小的App.config文件。注意,若你生成该项目,bin目录下面会出现一个复制了App.config内容的名字为应用程序名.exe.config的配置文件。
3、如果你添加的应用程序配置文件名字不是App.config,那么不会在bin目录下面生成xxx.exe.config文件。
4、如果你设置窗体的某些属性为动态属性,App.config的内容和xxx.exe.config的内容会同步的改变。
在WinForm中,可以通过添加配置文件(如App.config)来为程序简易地设置一些参数,但为了自己指定配置文件的位置,就不用VS添加了,写两个方法读取和修改指定文件。
public class AppSettings
{
public static string AppConfig()
{
return System.IO.Path.Combine(Application.StartupPath, "App.config");//此处配置文件在程序目录下
}
public static string GetValue(string appKey)
{
XmlDocument xDoc = new XmlDocument();
try
{
xDoc.Load(AppSettings.AppConfig());
XmlNode xNode;
XmlElement xElem;
xNode = xDoc.SelectSingleNode("//appSettings");
xElem = (XmlElement)xNode.SelectSingleNode("//add[@key='" + appKey + "']");
if (xElem != null)
return xElem.GetAttribute("value");
else
return "";
}
catch (Exception)
{
return "";
}
}
public static void SetValue(string AppKey, string AppValue)
{
XmlDocument xDoc = new XmlDocument();
xDoc.Load(AppSettings.AppConfig());
XmlNode xNode;
XmlElement xElem1;
XmlElement xElem2;
xNode = xDoc.SelectSingleNode("//appSettings");
xElem1 = (XmlElement)xNode.SelectSingleNode("//add[@key='" + AppKey + "']");
if (xElem1 != null)
{
xElem1.SetAttribute("value", AppValue);
}
else
{
xElem2 = xDoc.CreateElement("add");
xElem2.SetAttribute("key", AppKey);
xElem2.SetAttribute("value", AppValue);
xNode.AppendChild(xElem2);
}
xDoc.Save(AppSettings.AppConfig());
}
}
/// <summary>
///
/// </summary>
/// <returns></returns>
public static XmlNode GetAddressValues()
{
XmlDocument xDoc = new XmlDocument();
xDoc.Load(AppConfig());
XmlNode xNode;
xNode = xDoc.SelectSingleNode("//MainForm-comboBoxWeb");
return xNode;
}
public static void SetAddressValue(string AppValue)
{
XmlDocument xDoc = new XmlDocument();
xDoc.Load(AppConfig());
XmlNode element;
element = xDoc.SelectSingleNode("//MainForm-comboBoxWeb");
XmlNode node = xDoc.CreateNode(XmlNodeType.Element, "Item", "");
node.InnerText = AppValue;
element.AppendChild(node);
xDoc.Save(AppConfig());
}
public static void UpdateConfig(string p_strKey, string p_strValue)
{
try
{
string m_strFullPath = "";
// Assembly Asm = Assembly.GetExecutingAssembly();
XmlDocument xmlDoc =new XmlDocument();
m_strFullPath = System.Windows.Forms.Application.ExecutablePath + ".config";
xmlDoc.Load(m_strFullPath);
XmlNodeList nodeList=xmlDoc.SelectSingleNode("/configuration/appSettings").ChildNodes;
foreach(XmlNode xn in nodeList)
{
XmlElement xe=(XmlElement)xn;
if( xe.GetAttribute("key").IndexOf(p_strKey) != -1 )
{
xe.SetAttribute("value",p_strValue);
}
}
xmlDoc.Save(m_strFullPath);
}
catch(System.NullReferenceException NullEx)
{
throw NullEx;
}
catch(Exception ex)
{
throw ex;
}
}
1、和Asp.net的Web.config不同,创建winform应用时并不会默认的创建app.config。
2、如果你选定项目-添加新项-应用程序配置文件,不更改默认的App.config名称,那么你得到一个符合要求的最小的App.config文件。注意,若你生成该项目,bin目录下面会出现一个复制了App.config内容的名字为应用程序名.exe.config的配置文件。
3、如果你添加的应用程序配置文件名字不是App.config,那么不会在bin目录下面生成xxx.exe.config文件。
4、如果你设置窗体的某些属性为动态属性,App.config的内容和xxx.exe.config的内容会同步的改变。
在WinForm中,可以通过添加配置文件(如App.config)来为程序简易地设置一些参数,但为了自己指定配置文件的位置,就不用VS添加了,写两个方法读取和修改指定文件。
public class AppSettings
{
public static string AppConfig()
{
return System.IO.Path.Combine(Application.StartupPath, "App.config");//此处配置文件在程序目录下
}
public static string GetValue(string appKey)
{
XmlDocument xDoc = new XmlDocument();
try
{
xDoc.Load(AppSettings.AppConfig());
XmlNode xNode;
XmlElement xElem;
xNode = xDoc.SelectSingleNode("//appSettings");
xElem = (XmlElement)xNode.SelectSingleNode("//add[@key='" + appKey + "']");
if (xElem != null)
return xElem.GetAttribute("value");
else
return "";
}
catch (Exception)
{
return "";
}
}
public static void SetValue(string AppKey, string AppValue)
{
XmlDocument xDoc = new XmlDocument();
xDoc.Load(AppSettings.AppConfig());
XmlNode xNode;
XmlElement xElem1;
XmlElement xElem2;
xNode = xDoc.SelectSingleNode("//appSettings");
xElem1 = (XmlElement)xNode.SelectSingleNode("//add[@key='" + AppKey + "']");
if (xElem1 != null)
{
xElem1.SetAttribute("value", AppValue);
}
else
{
xElem2 = xDoc.CreateElement("add");
xElem2.SetAttribute("key", AppKey);
xElem2.SetAttribute("value", AppValue);
xNode.AppendChild(xElem2);
}
xDoc.Save(AppSettings.AppConfig());
}
}
/// <summary>
///
/// </summary>
/// <returns></returns>
public static XmlNode GetAddressValues()
{
XmlDocument xDoc = new XmlDocument();
xDoc.Load(AppConfig());
XmlNode xNode;
xNode = xDoc.SelectSingleNode("//MainForm-comboBoxWeb");
return xNode;
}
public static void SetAddressValue(string AppValue)
{
XmlDocument xDoc = new XmlDocument();
xDoc.Load(AppConfig());
XmlNode element;
element = xDoc.SelectSingleNode("//MainForm-comboBoxWeb");
XmlNode node = xDoc.CreateNode(XmlNodeType.Element, "Item", "");
node.InnerText = AppValue;
element.AppendChild(node);
xDoc.Save(AppConfig());
}
public static void UpdateConfig(string p_strKey, string p_strValue)
{
try
{
string m_strFullPath = "";
// Assembly Asm = Assembly.GetExecutingAssembly();
XmlDocument xmlDoc =new XmlDocument();
m_strFullPath = System.Windows.Forms.Application.ExecutablePath + ".config";
xmlDoc.Load(m_strFullPath);
XmlNodeList nodeList=xmlDoc.SelectSingleNode("/configuration/appSettings").ChildNodes;
foreach(XmlNode xn in nodeList)
{
XmlElement xe=(XmlElement)xn;
if( xe.GetAttribute("key").IndexOf(p_strKey) != -1 )
{
xe.SetAttribute("value",p_strValue);
}
}
xmlDoc.Save(m_strFullPath);
}
catch(System.NullReferenceException NullEx)
{
throw NullEx;
}
catch(Exception ex)
{
throw ex;
}
}
相关文章推荐
- c#,WinForm中读写配置文件App.config
- C# WinForm程序App.Config数据库连接配置文件的使用过程
- winform程序读取和改写配置文件App.config元素的值
- Winform数据库连接app.config文件配置(转)
- C#_WinForm程序的App.Config数据库连接配置文件
- WinForm修改App.config配置文件功能
- winform程序读取和改写配置文件App.config元素的值
- winform 程序的配置文件——App.config
- Winform数据库连接app.config文件配置
- c#,WinForm中读写配置文件App.config
- winform读取配置文件App.config
- c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程
- winform程序读取和改写配置文件App.config元素的值
- Winform 数据库连接app.config文件配置 数据库连接字符串
- c#,WinForm中读写配置文件App.config
- winform程序读取和改写配置文件App.config元素的值
- winform程序读取和改写配置文件App.config元素的值
- .Net2.0中WinForm加密App.config配置文件 [转]
- winform程序读取和改写配置文件App.config元素的值
- c#,WinForm中读写配置文件App.config