文本字段值已更新并保存,但当再次加载表单并单击按钮时,字段会重置为默认值
Posted
技术标签:
【中文标题】文本字段值已更新并保存,但当再次加载表单并单击按钮时,字段会重置为默认值【英文标题】:Textfield value updated and saved but field resets back to default value when form loaded again and button clicked 【发布时间】:2014-04-20 14:31:03 【问题描述】:我的程序: 文本字段将显示一个默认值,当单击按钮时,值减 1。我可以保存表单并在以后重新加载,文本字段值将显示最后保存的值。当我单击按钮再次递减时,值应该从保存的值而不是默认值递减 1。
我的问题: 当我在递减值后保存程序并稍后重新加载表单时,当我单击要递减的按钮时,文本字段值会恢复为默认值。在初始表单加载时,会显示正确的值,当我单击该值重置为默认值的按钮时。
以下是我的计划的核心领域:
class Play
public int Total = 5110;
private void Form1_Load(object sender, EventArgs e)
fText.Text = Properties.Settings.Default.TextBox1;
private void btnButton1_Click(object sender, EventArgs e)
myPlay.Total--;
ftext.Text = myPlay.Total.ToString();
private void btnSave_Click(object sender, EventArgs e)
Properties.Settings.Default.TextBox1 = fText.Text;
Properties.Settings.Default.Save();
lblSaveNote.Text = "Saved " + DateTime.Now;
【问题讨论】:
为什么是 Properties.settings.default.textBox1??我认为这会导致问题。您可以尝试删除该行吗? 当我点击保存按钮时存储当前值。我认为问题在于 ftext.Text = myPlay.Total.ToString(),它位于 btnButton1_Click 内部。虽然想不通:( 我建议你在Form1_Load方法中放一个messegeBox。如果messegebox 没有出现,那就是load 方法的问题。也许你需要使用 Form1_Shown 方法。 【参考方案1】:我已经设法通过将 btnButton1_Click 代码替换为:
Properties.Settings.Default.TextBox1--;
fText.Text = Properties.Settings.Default.TextBox1.ToString();
【讨论】:
以上是关于文本字段值已更新并保存,但当再次加载表单并单击按钮时,字段会重置为默认值的主要内容,如果未能解决你的问题,请参考以下文章