`

Winform中读写配置文件

阅读更多
1. 向项目添加app.config文件:
右击项目名称,选择“添加”→“添加新建项”,在出现的“添加新项”对话框中,选择“添加应用程序配置文件”;如果项目以前没有配置文件,则默认的文件名称为“app.config”,单击“确定”。出现在设计器视图中的app.config文件为:
<?xmlversion="1.0"encoding="utf-8" ?>
<configuration>
</configuration>
在项目进行编译后,在bin\Debuge文件下,将出现两个配置文件(以本项目为例),一个名为“JxcManagement.EXE.config”,另一个名为“JxcManagement.vshost.exe.config”。第一个文件为项目实际使用的配置文件,在程序运行中所做的更改都将被保存于此;第二个文件为原代码“app.config”的同步文件,在程序运行中不会发生更改。
2.  connectionStrings配置节:
请注意:如果您的SQL版本为2005 Express版,则默认安装时SQL服务器实例名为localhost\SQLExpress,须更改以下实例中“Data Source=localhost;”一句为“Data Source=localhost\SQLExpress;”,在等于号的两边不要加上空格。
<!--数据库连接串-->
     <connectionStrings>
         <clear />
         <addname="conJxcBook"
              connectionString="Data Source=localhost;Initial Catalog=jxcbook;User                                   ID=sa;password=********"
              providerName="System.Data.SqlClient" />
     </connectionStrings>
3. appSettings配置节:
appSettings配置节为整个程序的配置,如果是对当前用户的配置,请使用userSettings配置节,其格式与以下配置书写要求一样。
<!--进销存管理系统初始化需要的参数-->
     <appSettings>
         <clear />
         <addkey="userName"value="" />
         <addkey="password"value="" />
         <addkey="Department"value="" />
         <addkey="returnValue"value="" />
         <addkey="pwdPattern"value="" />
         <addkey="userPattern"value="" />
</appSettings>
4.读取与更新app.config
对于app.config文件的读写,参照了网络文章:http://www.codeproject.com/csharp/ SystemConfiguration.asp标题为“Read/Write App.Config File with .NET 2.0”一文。
请注意:要使用以下的代码访问app.config文件,除添加引用System.Configuration外,还必须在项目添加对System.Configuration.dll的引用。
4.1 读取connectionStrings配置节
///<summary>
///依据连接串名字connectionName返回数据连接字符串
///</summary>
///<param name="connectionName"></param>
///<returns></returns>
private static string GetConnectionStringsConfig(string connectionName)
{
string connectionString =
        ConfigurationManager.ConnectionStrings[connectionName].ConnectionString.ToString();
    Console.WriteLine(connectionString);
    return connectionString;
}
4.2 更新connectionStrings配置节
///<summary>
///更新连接字符串
///</summary>
///<param name="newName">连接字符串名称</param>
///<param name="newConString">连接字符串内容</param>
///<param name="newProviderName">数据提供程序名称</param>
private static void UpdateConnectionStringsConfig(string newName,
    string newConString,
    string newProviderName)
{
    bool isModified = false;    //记录该连接串是否已经存在
    //如果要更改的连接串已经存在
    if (ConfigurationManager.ConnectionStrings[newName] != null)
    {
        isModified = true;
    }
    //新建一个连接字符串实例
    ConnectionStringSettings mySettings =
        new ConnectionStringSettings(newName, newConString, newProviderName);
    // 打开可执行的配置文件*.exe.config
    Configuration config =
        ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    // 如果连接串已存在,首先删除它
    if (isModified)
    {
        config.ConnectionStrings.ConnectionStrings.Remove(newName);
    }
    // 将新的连接串添加到配置文件中.
    config.ConnectionStrings.ConnectionStrings.Add(mySettings);
    // 保存对配置文件所作的更改
    config.Save(ConfigurationSaveMode.Modified);
    // 强制重新载入配置文件的ConnectionStrings配置节
    ConfigurationManager.RefreshSection("ConnectionStrings");
}
4.3 读取appStrings配置节
///<summary>
///返回*.exe.config文件中appSettings配置节的value项
///</summary>
///<param name="strKey"></param>
///<returns></returns>
private static string GetAppConfig(string strKey)
{
    foreach (string key in ConfigurationManager.AppSettings)
    {
        if (key == strKey)
        {
            return ConfigurationManager.AppSettings[strKey];
        }
    }
    return null;
}
4.4 更新connectionStrings配置节
///<summary>
///在*.exe.config文件中appSettings配置节增加一对键、值对
///</summary>
///<param name="newKey"></param>
///<param name="newValue"></param>
private static void UpdateAppConfig(string newKey, string newValue)
{
    bool isModified = false;  
    foreach (string key in ConfigurationManager.AppSettings)
    {
       if(key==newKey)
        {  
            isModified = true;
        }
    }

    // Open App.Config of executable
    Configuration config =
        ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    // You need to remove the old settings object before you can replace it
    if (isModified)
    {
        config.AppSettings.Settings.Remove(newKey);
    }  
    // Add an Application Setting.
    config.AppSettings.Settings.Add(newKey,newValue); 
    // Save the changes in App.config file.
    config.Save(ConfigurationSaveMode.Modified);
    // Force a reload of a changed section.
    ConfigurationManager.RefreshSection("appSettings");
}

原文:http://blog.csdn.net/hbhecs/archive/2007/10/28/1851185.aspx
分享到:
评论

相关推荐

    C# winform 读取修改配置文件

    2. **读取配置文件** 在C#中,可以使用`System.Configuration`命名空间的`ConfigurationManager`类来读取`appSettings`的值。以下是如何读取`Setting1`的示例代码: ```csharp using System.Configuration; // ...

    C#winform中读写json文件

    本篇文章将详细介绍如何在C# WinForm应用程序中进行JSON文件的读写操作。 一、JSON格式简介 JSON是一种独立于语言的数据交换格式,它基于JavaScript的一个子集。数据格式简单,易于读写,并且可以被多数编程语言...

    C# WinForm读写INI文件

    在Windows应用程序开发中,我们经常需要与配置文件进行交互,以保存用户设置或应用程序的配置信息。INI文件是一种常见的配置文件格式,它以简单的文本形式存储数据,结构清晰且易于处理。本文将深入探讨如何使用C# ...

    c# winform demo 读取INI文件内容

    在C# WinForm应用开发中,常常需要与配置文件进行交互,以便存储和读取应用程序的设置或数据。本文将详细讲解如何使用C#来读取INI文件的内容,特别是针对描述中提到的问题进行分析和解决。 INI文件是一种简单且常用...

    winform对项目的配置文件加密解密

    以下是一个简单的加密和解密配置文件中连接字符串的示例: 1. **加密连接字符串**: 首先,我们需要读取未加密的连接字符串,然后使用`ProtectedData`类进行加密。以下是一个加密方法的示例: ```csharp using ...

    C# WinForm动态加载DLL通过配置文件

    2. **读取配置文件**:在程序启动时,使用`ConfigurationManager.AppSettings`读取配置文件中的DLL路径。 ```csharp using System.Configuration; string dllPath = ConfigurationManager.AppSettings["DynamicDll...

    winform 配置文件的使用源码

    使用`ConfigurationManager`类可以轻松地读取配置文件中的信息。例如,读取`appSettings`中的一个键值对: ```csharp string mySetting = ConfigurationManager.AppSettings["myKey"]; ``` 3. **写入配置文件*...

    Winform 读写INI文件 简单例子

    在Winform应用中,你可以在窗体加载时调用`ReadIniFile`方法来读取配置,然后设置控件的属性;当用户更改设置并关闭或退出程序时,调用`WriteIniFile`方法保存这些更改。 以上就是关于在C# Winform应用程序中读写...

    C# WinForm 动态加载DLL 通过配置文件

    总结来说,C# WinForm通过配置文件动态加载DLL的关键步骤包括:读取配置文件中的DLL路径,使用`Assembly.LoadFrom`加载DLL,通过反射获取并实例化DLL中的类,最后调用类的方法执行功能。这种方法提高了代码的可维护...

    C# winform 修改配置文件 源码

    在C#中,可以使用`ConfigurationManager`类来读取配置文件中的数据。例如,读取`appSettings`中的键值对: ```csharp string setting1 = ConfigurationManager.AppSettings["Setting1"]; ``` 3. **修改配置文件...

    VS2008,C#的WinForm中读取App.config配置

    本篇文章将深入探讨如何在C#的WinForm应用中读取App.config文件中的配置信息。 首先,我们需要了解App.config文件的结构。一个典型的App.config文件包含`&lt;configuration&gt;`根节点,下有`&lt;appSettings&gt;`、`...

    C# WinForm 读取内嵌资源范例

    在C#项目中,内嵌资源是指将非代码文件(如图片、音频、配置文件等)作为项目的一部分编译进可执行文件。这样做的好处是,资源与程序一起打包,无需在运行时查找外部文件路径,提高了程序的便携性和安全性。 为了在...

    Winform 读写INI文件

    二、Winform读写INI文件的库 虽然.NET框架并没有内置的INI文件处理库,但我们可以通过使用System.IO类库来实现。另外,也有一些第三方库,如`IniFile`,可以帮助我们更方便地操作INI文件。 三、使用System.IO实现...

    INI文件的创建和读写,C#winform

    INI文件是一种传统的配置文件格式,主要用于存储用户设置和应用程序配置数据。在Windows操作系统环境中,它被广泛使用,尤其是在早期的桌面应用中。C# WinForm应用程序可以方便地处理INI文件,实现创建、读取和写入...

    C# winform 读取Excel表格

    本项目可能是一个简单的示例,展示了如何利用C#的库来读取Excel文件中的数据。以下将详细讲解这一过程,以及涉及的关键知识点。 首先,你需要一个库来与Excel文件交互。在.NET Framework中,微软提供了`Microsoft....

    加密配置文件的类,只针对WinForm程序的应用程序配置文件

    4. **解密过程**:当读取配置文件时,我们需要解密已加密的数据。同样,使用AES算法,但这次是创建解密器,并使用它来还原原始数据。解密后的数据需要与Base64编码进行解码,以得到未加密的形式。 5. **封装成类**...

    winform配置文件处理

    #### 访问配置文件中的设置 为了在Winform应用程序中访问这些配置项,我们需要利用`.NET`框架提供的类库。主要有两种方式: 1. **使用`ConfigurationSettings.AppSettings`**:这种方式适用于.NET Framework 2.0及...

    Winform利用资源文件实现多国语言(含源代码)

    - 在资源文件中,可以为每种语言的字符串设置键值对,键通常是英文原版字符串,值是对应语言的翻译。 - 通过设置`Resx`文件的属性,确保每个文件的“生成后操作”设置为“编译”。 3. 使用资源文件: - 在...

    C# winform xml文件读取

    在C#编程环境中,Windows Forms(Winform)应用程序经常需要处理XML文件,因为XML是一种结构化数据存储格式,常用于配置、数据交换等场景。本篇文章将深入探讨如何在C# Winform应用中进行XML文件的读取操作,包括...

Global site tag (gtag.js) - Google Analytics