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 ...
随机推荐
- Scala具体解释---------Scala是什么?可伸展的语言!
Scala是什么 Scala语言的名称来自于"可伸展的语言". 之所以这样命名,是由于他被设计成随着使用者的需求而成长.你能够把Scala应用在非常大范围的编程任务上.从写个小脚本 ...
- UITableView去掉最后切割线的一种方法
UITableView以style:UITableViewStylePlain方式创建时.仅仅要有cell,就会有一条黑线 哪怕至于一个cell也会有,如图 在网上找了集中方法,都不好使,比方http ...
- CentOS7 启动[root@localhost ~]# systemctl start docker Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for de
1).在linux虚拟机上安装docker步骤:1.检查内核版本,必须是3.10及以上uname ‐r2.安装dockeryum install docker3.输入y确认安装4.启动docker[r ...
- Codefroces B. Hamming Distance Sum
Genos needs your help. He was asked to solve the following programming problem by Saitama: The lengt ...
- 【例题 7-11 UVA - 12325】Zombie's Treasure Chest
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 1.N/s1 < 1e6 枚举1的个数 2.N/s2<1e6 枚举2的个数 3.s1和s2的值较小 假设买了s2个1和s ...
- 给Linux添加新用户,新建用户,新建帐号
给Linux添加新用户,新建用户,新建帐号 添加用户组 sudo groupadd groupname 添加用户 sudo useradd username -m -s /sbin/nologin - ...
- 62.C++文件操作list实现内存检索,实现两千万数据秒查
1 #include <iostream> #include <fstream> #include <cstdlib> #include <string> ...
- POJ 3168 排序+扫描
题意: 思路: 我们可以把每个矩形拆成四条线 与x轴平行的放在一起 与y轴平行的放在一起 排个序 判一判有没有交 有交 则说明不可扩张 统计一下 就可以了 处理的姿势很重要 姿势不对毁一生 //By ...
- BZOJ 1231 状压DP
思路: f[i][j] i表示集合的组成 j表示选最后一个数 f[i][j]表示能选的方案数 f[i|(1<< k)][k]+=f[i][j]; k不属于i j属于i且符合题意 最后Σf[ ...
- Android自定义组件系列【12】——非UI线程绘图SurfaceView
一.SurfaceView的介绍 在前面我们已经会自定义View,使用canvas绘图,但是View的绘图机制存在一些缺陷. 1.View缺乏双缓冲机制. 2.程序必须重绘整个View上显示的图片,比 ...