微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C# 应用程序设置以及如何读取它们

如何解决C# 应用程序设置以及如何读取它们

我想存储和读取一些用户可以更改的设置。我通过项目的属性按照 here 中的说明进行操作,但我看到还有一个名为“Settings.settings”的文件。这个文件是空的。不需要这个文件吗?可以删除吗?

我的另一个问题是如何阅读设置。例如,我有一个名为“InitialSave”的设置作为布尔值。使用它会产生错误“运算符'=='不能应用于'object'和'bool'类型的操作数”。我可以直接从设置中读取还是应该在启动时声明每个设置?

Properties.Settings.Default["InitialSave"] == true

解决方法

您右键单击它并选择“打开方式...设置设计器”:

enter image description here

或者您获取项目的属性并单击左侧的设置。然后你会看到这个:

enter image description here

您输入了一些设置和类型:

enter image description here

您在代码中编写 Properties.Settings.Default.,然后您会看到您的设置:

enter image description here

您可以读取和写入它们,作为您指定类型的属性

您甚至可以将它们绑定到控件:

enter image description here

切换控制刻度状态会改变 Proeprties.Settings.Default.IsMinimized 的值

注意:只能更改/保存用户范围设置。 App Scope 设置保存在 YourExeName.config 文件中,可以通过使用文本编辑器编辑文件来更改。用户范围设置保存在其他地方(在您的用户文件夹中),可以在运行时修改和保存,以便在程序下次启动时保留该值


编辑:

好的,所以你说你可以在两个地方打开 Settings.settings;我无法通过以下步骤实现这一点(使用 .NET 核心,因为 Wolle 的回答声称核心不同;我也无法支持该声明):

  • 新项目,.NET Core Winforms:

enter image description here

  • 转到 project..settings“该项目不包含设置文件,点击创建一个”,等等:

enter image description here

  • 切换到项目属性中的另一个选项卡,例如:

enter image description here

  • 右键单击/打开 settings.settings 文件。看到这个:

enter image description here

  • 尝试在项目属性中返回它,请参阅:

enter image description here

  • 添加一些设置:

enter image description here

  • 在代码中访问它..

enter image description here

,

不幸的是,@Caius Jard 的回答有点过时,但它是 .NET Core 之前环境的首选方法。

对于当前的 .NET 5 框架,最有用的来源应该是 MSDN docs on configuration

如果要将设置存储在文件中,请查看 file configuration provider

var appSettings = ConfigurationManager.AppSettings;

// read
var foo = appSettings["bar"];

// write
if (settings[key] == null)  
{  
    settings.Add(key,value);  
}  
else  
{  
    settings[key].Value = value;  
}      

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?