gpt4 book ai didi

c# - WinForms 应用程序设置未分配

转载 作者:行者123 更新时间:2023-11-30 23:08:49 25 4
gpt4 key购买 nike

在 Project > MyProject Properties > Settings 下,我有一个名为 MyDouble 的应用程序设置,double 类型,范围是 User,默认值为 1.5。

我试着观看它,逐步浏览整个应用程序,并使用 MessageBoxes 来显示值。我现在已经注释掉了它的所有用途,但我试图设置类 (Form1) 级别变量的地方除外。看起来像这样:

    double myDouble = Properties.Settings.Default.MyDouble;

该值始终为零。如果我将 MessageBox myDouble 或应用程序设置为零。

某些应用程序设置正在运行。我在 Form1_Shown 事件中调用了两个消息框。一种用途:

    Properties.Settings.Default.MyDouble.ToString() 

其他用途:

    Properties.Settings.Default.MyInt.ToString()

第二个输出正确的值。

这个项目是一个用 C# 编写的 WinForms 应用程序。使用 Windows 10 和 Visual Studio 2017。这个项目的表格是从以前的项目中复制过来的,但我认为这不会影响它。上一个项目中的值是相同的。我手动输入了这些应用程序设置。我已经重新检查以确保拼写正确。我删除了安装项目无济于事。清理并重建解决方案...... nada。我还检查了 app.config 文件。我看不出有什么不对。在这里:

    <userSettings>
<MyProject.Properties.Settings>
<setting name="MyDouble" serializeAs="String">
<value>1.5</value>
</setting>
</MyProject.Properties.Settings>
</userSettings>

有没有人知道为什么和/或如何解决这个问题?

最佳答案

我想:出了点问题。

在解决方案资源管理器中,双击 .settings 文件。此文件的默认名称是 Settings.settings。在设置设计器中,找到您的设置的名称 (MyDouble)。每行代表一个设置。

参见:Using Settings in C# .

你有:

<setting name="MyDouble" serializeAs="String">

然后你写:

double myDouble = Properties.Settings.Default.MyDouble;

String 转换为 double...可能是错误的?

查看此页面:Managing Application Settings (.NET)这个答案:What is the best way to store user settings for a .NET application?

试试这段代码:

Properties.Settings.Default.MyDouble = 1.5;
Properties.Settings.Default.Save();

然后试试这个:

var myDouble = Properties.Settings.Default.MyDouble;

关于c# - WinForms 应用程序设置未分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46282219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com