c#应用程序未加载用户设置

本文关键字:用户 设置 加载 应用程序 | 更新日期: 2023-09-27 18:24:58

我正在做一个WinForm应用程序,我有一个有两个TextBox的表单,我在表单加载时从Settings.Default加载值,如下所示:

txtUsername.Text = Properties.Settings.Default["email_username"].ToString();
txtAddress.Text = Properties.Settings.Default["physical_address"].ToString();

我将值保存回Settings.Default,然后在用户单击按钮时处理表单,如下所示:

Properties.Settings.Default["email_username"] = txtUsername.Text;
Properties.Settings.Default["physical_address"] = txtAddress.Text;
Properties.Settings.Default.Save();

当我关闭(处置)表单,然后再次打开它(应用程序仍在运行)时,我可以正常加载设置。但是,如果我关闭应用程序,然后再次打开表单(我希望能找到加载的数据),我会发现数据加载到ONETextBox中,但没有加载到另一个,这很奇怪!

请注意,我已经尝试了以下操作,但仍然会出现相同的问题:

Properties.Settings.Default.email_username = txtUsername.Text;

此外,我也尝试过应用程序设置的(属性绑定),但同样的问题也出现了!

注意:当我调试应用程序时,我发现它正在将空的""数据加载到其中一个TextBox中,但没有加载到另一个!

那么,问题出在哪里呢?我该如何解决?

谢谢!

编辑:这是一个表单的捕获,空字段应该像其他字段一样具有数据!:

https://imgur.com/bSvlk6d

第2版:

我打开这样的表格:

private void mnuEmailSettings_Click(object sender, EventArgs e)
    {
        using (var fms = new frmMailSettings())
        {
            fms.ShowDialog();
        }
    }

从设置加载数据的代码位于从加载驻留的过程LoadData()中。我通过调用dispose AFTER保存数据来关闭表单(我使用另一个过程SaveData().

在发现数据存在于应用程序的AppData文件夹中的user.config中后,我已将标题更新为不"加载"

c#应用程序未加载用户设置

如果您已经使用Settings.Default,请尝试按名称访问设置,而不是按字符串键访问设置。

txtUsername.Text = Properties.Settings.Default.email_username;
txtAddress.Text = Properties.Settings.Default.physical_address;

很抱歉浪费你的时间,但我发现了问题。

起初,我认为应用程序没有保存数据,但在检查user.config后,我意识到数据保存正确。

我忘了我正在用Program.cs中的设置做一些事情。不幸的是,代码有问题,现在一切都正常!

谢谢!