textbox 绑定到 app.config的问题 如何让程序在退出时保存textbox.text到app.config中,textbox.text已经绑定到app.config? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 修改config文件的类,你可以增加节点,用节点的value来保存内容using System;using System.Configuration;namespace Heaven.Pub{ /// <summary> /// 配置文件的类型 /// </summary> public enum ConfigType { /// <summary> /// 网站的配置文件 /// </summary> WebConfig=0, /// <summary> /// 应用程序的配置文件 /// </summary> AppConfig=1 } public class ConfigurationOperator { private Configuration config; private ConfigType configType; private string configPath; /// <summary> /// 配置文件 /// </summary> public Configuration Config { set { config = value; } get { return config; } } /// <summary> /// /// </summary> /// <param name="configType">配置文件类型</param> public ConfigurationOperator(ConfigType configType) { this.configType = configType; if (configType == ConfigType.WebConfig) { configPath = System.Web .HttpContext.Current.Request.ApplicationPath; } else { configPath = System.Windows .Forms .Application.ExecutablePath; } Initialize(); } /// <summary> /// /// </summary> /// <param name="configPath">配置文件路径</param> /// <param name="configType">配置文件类型</param> public ConfigurationOperator(string configPath, ConfigType configType) { this.configPath = configPath; this.configType = configType; Initialize(); } private void Initialize() { if (configType == ConfigType.AppConfig ) { config = System.Configuration .ConfigurationManager.OpenExeConfiguration(configPath); } else { config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(configPath); } } /// <summary> /// 增加appSetting /// </summary> /// <param name="key">appSetting的关键字</param> /// <param name="value">appSetting的值</param> public void AddAppSetting(string key, string value) { AppSettingsSection appSetting = (AppSettingsSection)config.GetSection("appSettings"); if (appSetting.Settings[key] == null) { appSetting.Settings.Add(key, value); } else { ModifySetting(key, value); } } /// <summary> /// 修改appSetting /// </summary> /// <param name="key">appSetting的关键字</param> /// <param name="newValue">appSetting的新值</param> public void ModifySetting(string key, string newValue) { AppSettingsSection appSetting = (AppSettingsSection)config.GetSection("appSettings"); if (appSetting.Settings[key] != null) { appSetting.Settings[key].Value = newValue; } else { AddAppSetting(key, newValue); } } /// <summary> /// 增加连接字符串 /// </summary> /// <param name="key">增加的关键字</param> /// <param name="connectString">增加的连接字符串</param> public void AddConnectString(string key, string connectString) { ConnectionStringsSection connectionString = (ConnectionStringsSection)config.GetSection("connectionStrings"); if (connectionString.ConnectionStrings[key] == null) { ConnectionStringSettings connectionSetting=new ConnectionStringSettings (key,connectString ); connectionString.ConnectionStrings.Add(connectionSetting); } else { ModifySetting(key, connectString); } } /// <summary> /// 修改连接字符串 /// </summary> /// <param name="key">需要修改的关键字</param> /// <param name="newConnectString">新的连接字符串</param> public void ModifyConnectString(string key, string newConnectString) { ConnectionStringsSection connectionString = (ConnectionStringsSection)config.GetSection("connectionStrings"); if (connectionString.ConnectionStrings[key] != null) { connectionString.ConnectionStrings[key].ConnectionString = newConnectString; } else { AddConnectString(key, newConnectString); } } /// <summary> /// 保存配置信息 /// </summary> public void SaveConfig() { config.Save(); } }} C#制作绿色软件,有什么办法在客户机上直接编译成本地代码 VS2010使用的一个问题 WinForm中怎样增删改TreeView中节点,并更新数据库 囧,老问题了..未将对象引用设置到对象的实例.. silverlight 问候非常基础的问题 包含二维数组的类能不能序列化呢 如何判断一个进程在管理员用户下运行,还是在PowerUser用户下运行 一个奇怪的问题,关于textbox的BorderStyle 用哪个类能生成临时文件 c# 如何更改一个exe文件的图标 mssql 连接 access数据库的问题
using System.Configuration;
namespace Heaven.Pub
{
/// <summary>
/// 配置文件的类型
/// </summary>
public enum ConfigType
{
/// <summary>
/// 网站的配置文件
/// </summary>
WebConfig=0,
/// <summary>
/// 应用程序的配置文件
/// </summary>
AppConfig=1
} public class ConfigurationOperator
{
private Configuration config;
private ConfigType configType;
private string configPath; /// <summary>
/// 配置文件
/// </summary>
public Configuration Config
{
set
{
config = value;
}
get
{
return config;
}
} /// <summary>
///
/// </summary>
/// <param name="configType">配置文件类型</param>
public ConfigurationOperator(ConfigType configType)
{
this.configType = configType;
if (configType == ConfigType.WebConfig)
{
configPath = System.Web .HttpContext.Current.Request.ApplicationPath;
}
else
{
configPath = System.Windows .Forms .Application.ExecutablePath;
}
Initialize();
} /// <summary>
///
/// </summary>
/// <param name="configPath">配置文件路径</param>
/// <param name="configType">配置文件类型</param>
public ConfigurationOperator(string configPath, ConfigType configType)
{
this.configPath = configPath;
this.configType = configType;
Initialize();
} private void Initialize()
{
if (configType == ConfigType.AppConfig )
{
config = System.Configuration .ConfigurationManager.OpenExeConfiguration(configPath);
}
else
{
config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(configPath);
}
} /// <summary>
/// 增加appSetting
/// </summary>
/// <param name="key">appSetting的关键字</param>
/// <param name="value">appSetting的值</param>
public void AddAppSetting(string key, string value)
{
AppSettingsSection appSetting = (AppSettingsSection)config.GetSection("appSettings");
if (appSetting.Settings[key] == null)
{
appSetting.Settings.Add(key, value);
}
else
{
ModifySetting(key, value);
}
} /// <summary>
/// 修改appSetting
/// </summary>
/// <param name="key">appSetting的关键字</param>
/// <param name="newValue">appSetting的新值</param>
public void ModifySetting(string key, string newValue)
{
AppSettingsSection appSetting = (AppSettingsSection)config.GetSection("appSettings");
if (appSetting.Settings[key] != null)
{
appSetting.Settings[key].Value = newValue;
}
else
{
AddAppSetting(key, newValue);
}
} /// <summary>
/// 增加连接字符串
/// </summary>
/// <param name="key">增加的关键字</param>
/// <param name="connectString">增加的连接字符串</param>
public void AddConnectString(string key, string connectString)
{
ConnectionStringsSection connectionString = (ConnectionStringsSection)config.GetSection("connectionStrings");
if (connectionString.ConnectionStrings[key] == null)
{
ConnectionStringSettings connectionSetting=new ConnectionStringSettings (key,connectString );
connectionString.ConnectionStrings.Add(connectionSetting);
}
else
{
ModifySetting(key, connectString);
}
} /// <summary>
/// 修改连接字符串
/// </summary>
/// <param name="key">需要修改的关键字</param>
/// <param name="newConnectString">新的连接字符串</param>
public void ModifyConnectString(string key, string newConnectString)
{
ConnectionStringsSection connectionString = (ConnectionStringsSection)config.GetSection("connectionStrings");
if (connectionString.ConnectionStrings[key] != null)
{
connectionString.ConnectionStrings[key].ConnectionString = newConnectString;
}
else
{
AddConnectString(key, newConnectString);
}
} /// <summary>
/// 保存配置信息
/// </summary>
public void SaveConfig()
{
config.Save();
}
}
}