在项目>下MyProject属性>设置我有一个名为MyDouble的应用程序设置,双重类型,范围是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>
有没有人有任何想法和/或如何解决这个问题?
答案 0 :(得分:2)
我认为:出了点问题。
在“解决方案资源管理器”中,双击1+5, 2+5, 3+5, 4+10, 5+10
文件。此文件的默认名称是Settings.settings。在“设置”设计器中,找到设置的名称(MyDouble)。每行代表一个设置。
请参阅:Using Settings in C#。
你有:
.settings
你写道:
<setting name="MyDouble" serializeAs="String">
将double myDouble = Properties.Settings.Default.MyDouble;
转换为String
......可能是错的?
请参阅此页:Managing Application Settings (.NET),此答案为:What is the best way to store user settings for a .NET application?
试试这段代码:
double
然后尝试这个:
Properties.Settings.Default.MyDouble = 1.5;
Properties.Settings.Default.Save();