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
中后,我已将标题更新为不"加载"
如果您已经使用Settings.Default
,请尝试按名称访问设置,而不是按字符串键访问设置。
txtUsername.Text = Properties.Settings.Default.email_username;
txtAddress.Text = Properties.Settings.Default.physical_address;
很抱歉浪费你的时间,但我发现了问题。
起初,我认为应用程序没有保存数据,但在检查user.config
后,我意识到数据保存正确。
我忘了我正在用Program.cs
中的设置做一些事情。不幸的是,代码有问题,现在一切都正常!
谢谢!