一、背景

如下图所示,我通过open..按键打开了某个文件,之后我再把app给关闭掉,当再次打开app的时候,在textBox.Text上显示上一次打开的文件路径。通过使用app.config可以保存这个路径,再次打开app时候再从app.config里边读取出来。

二、软件测试

1、在App.config中添加所要保存的配置信息。如下图所示:



2、在解决方案资源管理器项目中添加引用后增加System.Configuration。如下图所示:



3、程序源码:

using System.Configuration;

/// 在配置信息中根据指定的键获取值。
///
/// 指定的键。
public static string GetConfigurationValue(string key)
{
return ConfigurationManager.AppSettings[key];
}
/// 在配置信息中修改指定键的值。
public static string FileName=System.IO.Path.GetFileName(Application.ExecutablePath); //得到文件
public static void SetConfigurationValue(string key, string value)
{
Configuration config = ConfigurationManager.OpenExeConfiguration(FileName);
config.AppSettings.Settings[key].Value = value;
config.Save(ConfigurationSaveMode.Modified);
System.Configuration.ConfigurationManager.RefreshSection("appSettings");
}

4、应用:

我通过按键浏览打开某个文件之后得到文件的路径,使用SetConfigurationValue把文件的路径值保存在app.config中。

private void Openfilebutton_Click(object sender, EventArgs e)
{
OpenFileDialog fileEds = new OpenFileDialog(); //定义新的文件打开位置软件
fileEds.Filter = "EDS文件|*.eds"; //设置文件后缀过滤
fileEds.RestoreDirectory = true; if (fileEds.ShowDialog() == DialogResult.OK) //如果有选择打开文件
{
SetConfigurationValue("folder", fileEds.FileName);
} }

每次重新打开APP,使用GetConfigurationValue会去app.config里边读取上次修改的数据,这样我就可以在textBox.Text上显示上一次打开的文件路径。

private void CanOpenDevice_Load(object sender, EventArgs e)
{
if(File.Exists(GetConfigurationValue("folder")))
{
GloableVar.filepath = GetConfigurationValue("folder");//得到文件路径
}
}

三、参考文档

http://blog.sina.com.cn/s/blog_8ae8fed10102w8g6.html

http://blog.csdn.net/celte/article/details/9749389

http://blog.csdn.net/Yujie_Yang/article/details/52298688

http://www.itkeyword.com/doc/9471404982607029x123/winform-c

by 羊羊得亿

2017-08-03 ShenZhen

C#之使用app.config可记录数据,下次打开可读取记录的数据的更多相关文章

  1. PureBasic 打开一个一行有多个数据的文件并读取其中某个数据

    如果有一个文件如下: TITLE = "Water Wurface Elevation"VARIABLES = "X", "Y", &quo ...

  2. 保存json数据到本地和读取本地json数据

    private void saveJson(JsonBean bean) { File file = new File(getFilesDir(), "json.txt"); Bu ...

  3. C#----操作应用程序配置文件App.config

    对配置文件的一些疑问: 在应用程序的目录下,有两处值得注意的地方,一个是应用程序根目录下的App.config文件,和bin\debug\name.exe.config 或者 bin\Release\ ...

  4. C# 读写App.config配置文件

    一.C#项目中添加App.config配置文件 在控制台程序中,默认会有一个App.config配置文件,如果不小心删除掉,或者其他程序需要配置文件,可以通过添加得到. 添加步骤:右键项目名称,选择“ ...

  5. JAVA TcpServer端使用Scanner读取不到数据的解决办法

    在使用JAVA进行Socket通信时,在Server端使用Scanner的nextLine()方法读取数据时,一直读取不到数据是因为Scanner是一个扫描器,它扫描数据都是去内存中一块缓冲区中进行扫 ...

  6. C# 对 App.config的appSettings节点数据进行加密

    .NET平台下的Winform和Asp.net的配置文件默认都是明文保存的,本文使用的是.Net自身如何加密配置文件,不包含自定义的加密规则 但.Net是提供了直接对配置文件加密的功能的,使用.Net ...

  7. C#读写app.config中的数据

    C#读写app.config中的数据 读语句: String str = ConfigurationManager.AppSettings["DemoKey"]; 写语句: Con ...

  8. C#读写操作app.config中的数据

    <?xml version="1.0" encoding="utf-8" ?> <configuration> <connecti ...

  9. C# - 使用ConfigurationManager保存数据到App.config

    1. ConfigurationManager的命名空间:using System.Configuration; 2. To be able to save you have to use a con ...

随机推荐

  1. java设计模式学习 ----- 单例模式(Singleton)

    单例模式(Singleton) 单例对象(Singleton)是一种经常使用的设计模式. 在Java应用中,单例对象能保证在一个JVM中,该对象仅仅有一个实例存在.单例模式也分三种:懒汉式单例.饿汉式 ...

  2. php实现模拟登陆

    在不考虑验证码的情况一下,php实现模拟登陆,网上给的办法通常是採用curl来模拟实现,可是curl实现的是server端与server端建立了会话,仅仅能模拟登陆之后获取登陆之后的数据.无法将coo ...

  3. C++ 鼠标模拟程序

    关于鼠标模拟程序应用不算少见.在游戏外挂或者一些操作频繁位置确定的程序上应用往往有奇效. 比較旧的API是mouse_event,本人一開始也用这个在搞,只是后来才看到新的API在操作上更加统一.稍作 ...

  4. WireGuard 隧道的安装和使用,测试地址 ca.6tu.me

    WireGuard 端到端平等的网络隧道,测试地址 ca.6tu.me --------------------------------------------- 服务器:远程 Ubuntu18 , ...

  5. tp5中的配置机制

    默认在application中, 一个config.php, 一个database.php, 还有一个extra文件夹,里面存放一些零散的配置. 如果在index.php初始化中调整配置路径, 那么e ...

  6. js插件---瀑布流Masonry

    js插件---瀑布流Masonry 一.总结 一句话总结:还是要去看官网,比amazeui上面介绍的详细很多 1.瀑布流的原理是什么? 给外层套好相对定位,里面的每一个弄好绝对定位,然后计算出每一个的 ...

  7. 巧用Linux 架设TFTP Server备份路由器的配置文件

    本文首发<网管员世界>  转载本文站点: ChinaITLAB TFTP (普通文件传输协议或一般文件传输协议) 大家一定记得在2003年8月12日全球爆发冲击波(Worm.Blaster ...

  8. Android控件-单选按钮RadioButton

    RadioGroup单选按钮用法,还是先看效果图 先中后,点RadioGroup测试按钮,可在标题栏显示选择结果,点清除可以清除选择.下面上代码,main.xml: <RadioGroup an ...

  9. @Html.Raw() 方法输出带有html标签的字符串

    @Html.Raw() 方法输出带有html标签的字符串,如:@Html.Raw("<div style='color:red'>输出字符串</div>") ...

  10. vue.js原生组件化开发(二)——父子组件

    前言 在了解父子组件之前应先掌握组件开发基础.在实际开发过程中,组件之间可以嵌套,也因此生成父子组件. 父子组件创建流程 1.构建父子组件 1.1 全局注册 (1)构建注册子组件 //构建子组件chi ...