【问题标题】: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 方法。

标签: c# winforms save textfield


【解决方案1】:

我已经设法通过将 btnButton1_Click 代码替换为:

        Properties.Settings.Default.TextBox1--;
        fText.Text = Properties.Settings.Default.TextBox1.ToString();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-03
    • 1970-01-01
    • 1970-01-01
    • 2018-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多