C#之使用app.config可记录数据,下次打开可读取记录的数据
一、背景
如下图所示,我通过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可记录数据,下次打开可读取记录的数据的更多相关文章
- PureBasic 打开一个一行有多个数据的文件并读取其中某个数据
如果有一个文件如下: TITLE = "Water Wurface Elevation"VARIABLES = "X", "Y", &quo ...
- 保存json数据到本地和读取本地json数据
private void saveJson(JsonBean bean) { File file = new File(getFilesDir(), "json.txt"); Bu ...
- C#----操作应用程序配置文件App.config
对配置文件的一些疑问: 在应用程序的目录下,有两处值得注意的地方,一个是应用程序根目录下的App.config文件,和bin\debug\name.exe.config 或者 bin\Release\ ...
- C# 读写App.config配置文件
一.C#项目中添加App.config配置文件 在控制台程序中,默认会有一个App.config配置文件,如果不小心删除掉,或者其他程序需要配置文件,可以通过添加得到. 添加步骤:右键项目名称,选择“ ...
- JAVA TcpServer端使用Scanner读取不到数据的解决办法
在使用JAVA进行Socket通信时,在Server端使用Scanner的nextLine()方法读取数据时,一直读取不到数据是因为Scanner是一个扫描器,它扫描数据都是去内存中一块缓冲区中进行扫 ...
- C# 对 App.config的appSettings节点数据进行加密
.NET平台下的Winform和Asp.net的配置文件默认都是明文保存的,本文使用的是.Net自身如何加密配置文件,不包含自定义的加密规则 但.Net是提供了直接对配置文件加密的功能的,使用.Net ...
- C#读写app.config中的数据
C#读写app.config中的数据 读语句: String str = ConfigurationManager.AppSettings["DemoKey"]; 写语句: Con ...
- C#读写操作app.config中的数据
<?xml version="1.0" encoding="utf-8" ?> <configuration> <connecti ...
- C# - 使用ConfigurationManager保存数据到App.config
1. ConfigurationManager的命名空间:using System.Configuration; 2. To be able to save you have to use a con ...
随机推荐
- hdu1879 继续畅通project(最小生成树)
继续畅通project Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- linux(debian/ubuntu)下连接安卓手机--小米4为例
更改:如今小米连接Ubuntu等Linux系统,直接改动手机上的连接方式就可以. --------------------------------------------- 因为安卓手机底层就是lin ...
- Linux打包免安装的Qt程序(编写导出依赖包的脚本copylib.sh,程序启动脚本MyApp.sh)
本文介绍如何打包Qt程序,使其在没有安装Qt的系统可以运行. 默认前提:另外一个系统和本系统是同一个系统版本. 1,编写导出依赖包的脚本copylib.sh #!/bin/bash LibDir=$P ...
- leetcode -day23 Construct Binary Tree from Inorder and Postorder Traversal & Construct Binary Tree f
1. Construct Binary Tree from Inorder and Postorder Traversal Given inorder and postorder travers ...
- .Net商品管理(注释,百度,提问,对比,总结)
管理控制器 using System; using System.Collections.Generic; using System.Linq; using System.Web; using Sys ...
- 14.c语言dll注入
#include <Windows.h> //dll不需要main函数 //导出接口 _declspec(dllexport) void go() { MessageBoxA(, ); }
- BZOJ 1305 二分+网络流
思路: 建图我根本没有想到啊--. (我是不会告诉你我借鉴了一下题解的思路) 把每个人拆成喜欢的和不喜欢的点 男 喜欢 向 男 不喜欢 连 边权为k的边 如果男喜欢女 那么 男喜欢向 女喜欢 连 1 ...
- Weka中数据挖掘与机器学习系列之Weka简介(二)
不多说,直接上干货! Weka简介 Weka是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis)的英文字首缩写,官方网址为:http://www ...
- 彻底分析虚拟视频驱动vivi(三)
在Ubuntu系统中接上usb摄像头设备时,系统会自动安装对应的usb设备驱动程序.我们现在要使用自己编译的vivi驱动,该怎么办呢? 1.先安装系统自带的vivi驱动和它所依赖的所有驱动:sudo ...
- Spring 热点面试题:
1.谈谈你对Springaop的理解? spring用代理类包裹切面,把他们织入到Spring管理的bean中.也就是说代理类伪装成目标类,它会截取对目标类中方法的调用,让调用者对目标类的调用都先变成 ...