![](/img/trans.png)
[英]How can I use Properties.Settings when I deploy my C# Winforms app with NSIS?
[英]How can I change the properties.settings c#
我有一个表单(winforms),在那个表单中,我有一个侧边栏。 在侧边栏的属性窗口中,我单击了ApplicationSettings
,然后单击了PropertyBindigs
,在出现的对话框中,我看到了侧边栏的所有属性。 在visible
的文本框中,我给它起了一个名字“ SelectedVisible”。
在项目名称的Solution explorer
,我右键单击并选择properties
现在我看到该设置,实际上我看到的是我创建的(SelectedVisible) bool
值True
。
在表单中,我有一个带有'True'和'False'项目的combobox
,其想法是,如果我选择'false',则边栏将在运行时消失,如果我选择'true',则将出现边栏。 我为此编写了以下代码
if(comboBox1.Text=="False")
{
Properties.Settings.Default.SelectedVisible = False;
}
else if(comboBox1.Text=="True")
{
Properties.Settings.Default.SelectedVisible = True;
}
Settings.Default.Save();
在按钮的点击事件中
现在的问题是:现在,我所做的设置始终保持在“ True”,我尝试将代码从True更改为“ True”,将False更改为“ False”,但是每次检查应用程序的属性时,都会看到什么也没有变。
第二个问题:如果我手动更改“ SelectedVisible”的值,然后运行我的应用程序,则即使在侧边栏的属性中值为false时,侧边栏也在那里。
让我感到困惑?
谢谢
尝试将您的状况更改为:
if (comboBox1.SelectedItem.ToString().Equals("True")) {}
我尝试过,对我来说效果很好。
问题是条件,请尝试以下操作:
Properties.Settings.Default.SelectedVisible = bool.Parse(comboBox1.Text);
为了安全起见,可以使用TryParse:
bool value;
if(bool.TryParse(comboBox1.Text, out value))
{
Properties.Settings.Default.SelectedVisible = value;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.