如何解决C# 应用程序设置以及如何读取它们
我想存储和读取一些用户可以更改的设置。我通过项目的属性按照 here 中的说明进行操作,但我看到还有一个名为“Settings.settings”的文件。这个文件是空的。不需要这个文件吗?可以删除吗?
我的另一个问题是如何阅读设置。例如,我有一个名为“InitialSave”的设置作为布尔值。使用它会产生错误“运算符'=='不能应用于'object'和'bool'类型的操作数”。我可以直接从设置中读取还是应该在启动时声明每个设置?
Properties.Settings.Default["InitialSave"] == true
解决方法
您右键单击它并选择“打开方式...设置设计器”:
或者您获取项目的属性并单击左侧的设置。然后你会看到这个:
您输入了一些设置和类型:
您在代码中编写 Properties.Settings.Default.
,然后您会看到您的设置:
您可以读取和写入它们,作为您指定类型的属性
您甚至可以将它们绑定到控件:
切换控制刻度状态会改变 Proeprties.Settings.Default.IsMinimized
的值
注意:只能更改/保存用户范围设置。 App Scope 设置保存在 YourExeName.config 文件中,可以通过使用文本编辑器编辑文件来更改。用户范围设置保存在其他地方(在您的用户文件夹中),可以在运行时修改和保存,以便在程序下次启动时保留该值
编辑:
好的,所以你说你可以在两个地方打开 Settings.settings;我无法通过以下步骤实现这一点(使用 .NET 核心,因为 Wolle 的回答声称核心不同;我也无法支持该声明):
- 新项目,.NET Core Winforms:
- 转到 project..settings“该项目不包含设置文件,点击创建一个”,等等:
- 切换到项目属性中的另一个选项卡,例如:
- 右键单击/打开
settings.settings
文件。看到这个:
- 尝试在项目属性中返回它,请参阅:
- 添加一些设置:
- 在代码中访问它..
不幸的是,@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 举报,一经查实,本站将立刻删除。