需要帮助检索应用程序设置并更改值

时间:2016-01-10 22:24:17

标签: c# .net application-settings

the application settings

您好,我在检索某个应用程序设置的值然后使其递增(++)

时遇到问题
    public int orderIDnumber ;

    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        orderIDnumber = Properties.Settings.Default.OrderID;                            //Read the last order number from user settings
        orderIDnumber ++;                                                                 //Increase the order number by one ready to take an order
        ordernumLBL.Text = orderIDnumber.ToString();                                      //Display the order number in the label on screen after converting it to string
    }

  private void Newordernum()
    {
        orderIDnumber++;                                                                         //Increase order number by 1 (++ means increase by 1)
        ordernumLBL.Text = orderIDnumber.ToString();


    }

private void neworderBTN_Click(object sender, EventArgs e)
    {
        Saveorder();
        Clearlists();
        Clearboxes();
        Newordernum();



    }

 private void Form1_FormClosing(object sender, FormClosingEventArgs e)          
    {                                                                             

        Properties.Settings.Default.OrderID = orderIDnumber;                    
        Properties.Settings.Default.Save();                                        
    }

一旦我点击一个按钮,我希望它更新标签文本,但没有发生任何事情,似乎值一直保持在0。

3 个答案:

答案 0 :(得分:1)

您正在将Properties.Settings.Default.OrderID的值读入字段orderIDnumber。之后,您将增加字段,保持原始设置值不变。

您必须最终将新号码写回设置。最后,您需要调用save方法来保留新值:

Properties.Settings.Default.OrderID = orderIDnumber;
Properties.Settings.Default.Save();

答案 1 :(得分:1)

https://msdn.microsoft.com/en-us/library/aa730869(v=vs.80).aspx

在运行时保存用户设置

应用程序范围设置是只读的,只能在设计时更改或在应用程序会话之间更改.exe.config文件。但是,用户范围设置可以在运行时写入,就像更改任何属性值一样。新值在应用程序会话期间保持不变。您可以通过调用Settings.Save方法在应用程序会话之间保留对用户设置的更改。这些设置保存在User.config文件中。

在运行时编写和保留用户设置 访问用户设置并为其分配新值,如以下示例所示:

Properties.Settings.Default.myColor = Color.AliceBlue;

如果要在应用程序会话之间保留对用户设置的更改,请调用Save方法,如以下代码所示:

Properties.Settings.Default.Save();

答案 2 :(得分:0)

属性OrderID是否为string类型?

在这种情况下,您可能必须在增加它之前将其明确地类型转换为int。