您好,我在检索某个应用程序设置的值然后使其递增(++)
时遇到问题 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。
答案 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。