需要帮助来检索应用程序设置和更改值
Need help retrieving application settings and changing the value
您好,我在检索某个应用程序设置的值然后使其递增 (++) 时遇到问题
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。
您正在将 Properties.Settings.Default.OrderID
的值读入字段 orderIDnumber
。之后,您将递增该字段,并保持原始设置值不变。
您最终必须将新号码写回设置中。最后需要调用save方法来持久化新值:
Properties.Settings.Default.OrderID = orderIDnumber;
Properties.Settings.Default.Save();
属性 OrderID 是字符串类型的吗?
在这种情况下,您可能必须先将其明确类型转换为 int,然后才能递增它。
https://msdn.microsoft.com/en-us/library/aa730869(v=vs.80).aspx
在 运行 时保存用户设置
Application-scope 设置是只读的,只能在设计时或通过在应用程序会话之间更改 .exe.config 文件来更改。但是,User-scope 设置可以在 运行 时写入,就像您更改任何 属性 值一样。新值在应用程序会话期间持续存在。您可以通过调用 Settings.Save 方法在应用程序会话之间保留对用户设置的更改。这些设置保存在 User.config 文件中。
在 运行 时间写入并保留用户设置
访问用户设置并为其分配一个新值,如下例所示:
Properties.Settings.Default.myColor = Color.AliceBlue;
如果您想在应用程序会话之间保留对用户设置的更改,请调用 Save 方法,如以下代码所示:
Properties.Settings.Default.Save();
您好,我在检索某个应用程序设置的值然后使其递增 (++) 时遇到问题
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。
您正在将 Properties.Settings.Default.OrderID
的值读入字段 orderIDnumber
。之后,您将递增该字段,并保持原始设置值不变。
您最终必须将新号码写回设置中。最后需要调用save方法来持久化新值:
Properties.Settings.Default.OrderID = orderIDnumber;
Properties.Settings.Default.Save();
属性 OrderID 是字符串类型的吗?
在这种情况下,您可能必须先将其明确类型转换为 int,然后才能递增它。
https://msdn.microsoft.com/en-us/library/aa730869(v=vs.80).aspx
在 运行 时保存用户设置
Application-scope 设置是只读的,只能在设计时或通过在应用程序会话之间更改 .exe.config 文件来更改。但是,User-scope 设置可以在 运行 时写入,就像您更改任何 属性 值一样。新值在应用程序会话期间持续存在。您可以通过调用 Settings.Save 方法在应用程序会话之间保留对用户设置的更改。这些设置保存在 User.config 文件中。
在 运行 时间写入并保留用户设置 访问用户设置并为其分配一个新值,如下例所示:
Properties.Settings.Default.myColor = Color.AliceBlue;
如果您想在应用程序会话之间保留对用户设置的更改,请调用 Save 方法,如以下代码所示:
Properties.Settings.Default.Save();