C#的 Settings.Settings配置文件的使用方法

这篇具有很好参考价值的文章主要介绍了C#的 Settings.Settings配置文件的使用方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、定义
在Settings.settings文件中定义配置字段。把作用范围定义为:User则运行时可更改(用户范围的字段数据更改存储在用户信息中,不在该程序文件中),Applicatiion则运行时不可更改。可以使用数据网格视图(VS软件的Properties 下面的Setting.settings设置即可),很方便;

2、读取配置值
text1.text = Properties.Settings.Default.FieldName;
//FieldName是你定义的字段

3、修改和保存配置
Properties.Settings.Default.FieldName = “server”;

Properties.Settings.Default.Save();//使用Save方法保存更改

示例部分:
VS界面图:

C#的 Settings.Settings配置文件的使用方法,.net(C#),软件架构设计,基础知识,c#,开发语言

重新生成方案之后的App.Config文件:

C#的 Settings.Settings配置文件的使用方法,.net(C#),软件架构设计,基础知识,c#,开发语言

代码部分:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        //软件版本号
        string Version = Application.ResourceAssembly.GetName().Version.ToString();
        Console.WriteLine(Version);

        //测试Settings内设置的字段值--读取
        string str1= Properties.Settings.Default.CashColor;
        MessageBox.Show(str1);

        Properties.Settings.Default.CashColor = "serverBack";

        Properties.Settings.Default.Save();//使用Save方法保存更改
    }
}

配置变更信息保存路径(用户信息):
已经Save了,你可能会在应用程序文件夹里找不到它到底保存到哪里去了。由于我们是用UserScope的,所以其实该配置信息是保存到了你的Windows的个人文件夹里去了

C#的 Settings.Settings配置文件的使用方法,.net(C#),软件架构设计,基础知识,c#,开发语言

4、也可以自己创建
创建一个配置类FtpSetting。在WinForm应用程序里,一切配置类都得继承自 ApplicationSettingsBase 类。

sealed class FtpSettings : ApplicationSettingsBase

{
[UserScopedSetting]
[DefaultSettingValue(“127.0.0.1”)]
public string Server
{
get { return (string)this[“Server”]; }
set { this[“Server”] = value; }
}
[UserScopedSetting]
[DefaultSettingValue(“21”)]
public int Port
{
get { return (int)this[“Port”]; }
set { this[“Port”] = value; }
}
}

使用上述配置类,可以用:

private void button2_Click(object sender, EventArgs e)
{
FtpSettings ftp = new FtpSettings();
string msg = ftp.Server + “:” + ftp.Port.ToString();
MessageBox.Show(msg);
}

我们在使用上述FtpSetting 配置时,当然要先进行赋值保存,然后再使用,后面再修改,再保存,再使用。
private void button2_Click(object sender, EventArgs e)
{
FtpSettings ftp = new FtpSettings();
ftp.Server = “ftp.test.com”;
ftp.Port = 8021;
ftp.Save();
ftp.Reload();
string msg = ftp.Server + “:” + ftp.Port.ToString();
MessageBox.Show(msg);
}
嗯。已经Save了,你可能会在应用程序文件夹里找不到它到底保存到哪里去了。由于我们是用UserScope的,所以其实该配置信息是保存到了你的Windows的个人文件夹里去了。比如我的就是 C:\Documents and Settings\brooks\Local Settings\Application Data\TestWinForm目录了。

5.关于Settings 配置与App.config文件之间关系
一个Setting有4个属性Name,Type,Scope,Value。重点讲一下Scope属性,Scope属性有两个值Application,User。

这两者区别:

Scope值为Application(应用程序)时,对应的Setting在运行时不可以修改。

Scope值为User(用户)时,对应的Setting在运行时可以修改。

Setting保存位置:当程序编译后,Setting的值保存在.exe.config文件中,例如:

C#的 Settings.Settings配置文件的使用方法,.net(C#),软件架构设计,基础知识,c#,开发语言

其中,Settings里的属性根据范围分为两种 “用户”和“应用程序”(其中:应用程序级配置是只读的,而用户级是可读写的。)

范围为“应用程序”的属性,读取都是从APP.CONFIG里获取,设置也可以通过手工修改App.config改变,但是在程序中无法对其进行赋值,只能读取。

而范围为“用户”的属性 Settings 在第一次运行时会读取App.config里的初始值

但是一旦调用Save方法后,Settings里“用户”范围的属性就会保存在系统里面,类似WebForm里的Cookies一样

从此以后,读取都会从系统里保存的值里读取,手工修改App.config里的“用户”范围的属性不会影响到这些属性,但是在调用Reset方法时会从新从App.config里获取“用户”范围的属性写入到系统中。

也就是说,settings里“用户”范围的属性总共有3个地方存储。

1、app.config配置文件-----程序第一次运行,之前程序未调用save(),在系统中找不到就会从这里获取

2、操作系统--------当settings调用save()保存后。

3、内存----程序启动后,实例化settings对象,该实例在创建的时候从系统(如果系统中没有就如前面提到的从配置文件中获取)读取在内存中。

一旦我们通过VC#给它添加值后,在工程目录下会生成一个 app.config 文件。


原文链接:https://blog.csdn.net/BlueCapt/article/details/130617943
 文章来源地址https://www.toymoban.com/news/detail-835606.html

到了这里,关于C#的 Settings.Settings配置文件的使用方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 智能路由器中的 dns.he.net可使用自定义域名的免费 DDNS 服务配置方法

    今天介绍的这个是可以使用自定义域名同时支持使用二级域名的免费DDNS服务 dns.he.net的动态DDNS服务的配置方法,  这个服务相对还是比较稳定的,  其配置也和其他的DDNS服务有些不太一样, 首先他的主机名: 这里需要设置为登录后分配的区域域名:  ipv6.he.net  然后就是 DDNS 用户

    2024年02月02日
    浏览(83)
  • Unity的配置文件在安卓路径下使用的方法

    之前我做过的很多使用配置文件的Unity项目,后面的有些项目也有在安卓路径下读取json文件的需求。这几天有个需求是获取在安卓路径下配置文件里的数据,我在网上查了一些案例,简单实现了这个需求,下面将这个方法在这里记录一下。 1.建立一个Unity项目,将版本转换为

    2024年02月07日
    浏览(26)
  • 使用OpenWRT配置SFTP远程文件传输,安全高效的文件传输方法

    本次教程我们将在OpenWRT上安装SFTP服务,并结合cpolar内网穿透,创建安全隧道映射22端口,实现在公网环境下远程OpenWRT SFTP,安全地传输文件,比如备份文件、配置文件等。 SFTP是一种安全文件传输协议,它基于SSH协议,提供了加密、认证和数据完整性保护的安全文件传输服务

    2024年02月09日
    浏览(44)
  • 【C#】.net core 6.0 使用第三方日志插件Log4net,配置文件详细说明

    欢迎来到《小5讲堂》 大家好,我是全栈小5。 这是《C#》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。 温馨提示:博主能力有限,理解水平有限

    2024年04月12日
    浏览(37)
  • STM32 CubeIDE 使用 CMSIS-DAP烧录 (方法1--修改配置文件)

            STM32CubeIDE目前只支持ST-Link、J-Link.         到目前2023年12月,还没更新到直接支持CMSIS DAP. 我们需要稍作修改才能让它支持CMSIS-DAP。         本篇方法:修改配置文件。修改后,可以在CubeIDE中使用CMSIS DAP烧录,无需借助其它工具。         倘若尝试修改不成

    2024年01月17日
    浏览(34)
  • C# 使用 RabbitMQ 的详细使用方法

    C# 使用 RabbitMQ 的详细使用方法) RabbitMQ 是一个功能强大的消息队列系统,可用于在分布式系统中进行可靠的消息传递。本篇博客将详细介绍如何在 C# 中使用 RabbitMQ 实现各种消息队列操作,包括连接 RabbitMQ 服务器、创建通道、声明队列、发布消息以及消费消息等。 RabbitMQ 是一

    2024年04月25日
    浏览(29)
  • .net core 创建WebAPI以及使用EF DBFirst框架使用方法与疑问解答(.net 6)

    EF语法包: 生成实体模型: 修改实体模型: 把生成的实体和上下文都输出到某个文件夹命令 增加JSON格式脚手架: 若想增加某个版本json脚手架,需要加入后缀如: 问题与解决方案: 1、问题: Your startup project \\\'XXX\\\' doesn\\\'t reference Microsoft.EntityFrameworkCore.Design. This package is requi

    2024年02月16日
    浏览(41)
  • C#虚方法的使用场景

    虚方法在C#中的使用场景主要涉及到面向对象编程中的多态性。通过使用虚方法,您可以在派生类中重写基类中定义的方法,从而实现不同对象在相同方法调用时表现出不同的行为。以下是几种常见的使用场景: 1.基类提供默认实现,派生类可以选择性地重写: 当您需要在基

    2024年04月29日
    浏览(44)
  • ADO.Net前端页面调用后台方法使用

    1、前台页面定义GetSource方法,传入列表显示字段; 2、后台页面定义Public公共类型的方法GetSource; 3、后台可以根据字段值判断列中需要显示的图标、数值;

    2024年02月01日
    浏览(37)
  • Centos系列:centos7 共享文件夹配置、使用mount -t cifs 挂载windows共享目录方法与问题解决

    1.创建共享文件夹 打开CentOS终端,输入命令,查看共享文件夹情况 2.挂载共享目录 在/mnt下创建hgfs文件夹,作为共享目录 挂载共享目录 在文件末尾添加 保存重启即可 如果centos系统因权限无法查看共享文件夹内容 大功告成!!! 参考网址: https://blog.csdn.net/u013112749/article/

    2024年02月02日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包