【C#】WPF保存客户设置实现保存账号密码

正文索引 [隐藏]

我们如果单单实现保存账号密码的话,那就非常简单,so easy,用文件存储方式即可,但是如果要保存客户设置,每次更新呢,就不能使用文件存储了,我们需要在项目的App.config里面修改了,只需四步即可,也非常的简单

一、配置App.config文件

  <appSettings>
<add key="userName" value="admin"/>
<add key="password" value="1"/>
<add key="isRemember" value="true"/>
</appSettings>

像下图这样加即可
CSHARPSAVESETTING

二、编写设置函数和更新设置函数

        /// <summary>
/// 读取客户设置
/// </summary>
/// <param name="settingName"></param>
/// <returns></returns>
public static string GetSettingString(string settingName)
{
try
{
string settingString = ConfigurationManager.AppSettings[settingName].ToString();
return settingString;
}
catch (Exception)
{
return null;
}
}
/// <summary>
/// 更新设置
/// </summary>
/// <param name="settingName"></param>
/// <param name="valueName"></param>
public static void UpdateSettingString(string settingName, string valueName)
{
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (ConfigurationManager.AppSettings[settingName] != null)
{
config.AppSettings.Settings.Remove(settingName);
}
config.AppSettings.Settings.Add(settingName, valueName);
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
}

这两个函数其实也不难理解,如果实在看不懂,就先copy下来,再慢慢理解

三、窗口加载时初始化赋值

 public FrmAdmin()
{
InitializeComponent();
TextBox1.Text = GetSettingString("userName");
PasswordBox.Password = GetSettingString("password");
if (GetSettingString("isRemember") == "true")
{
checkBox1.IsChecked = true;
}
else
{
checkBox1.IsChecked = false;
}
}

这段代码就非常好理解了,就是App.config里面设置的初始化值赋值到前端
现在到了最后一步了,就是我们登录成功后更新设置,例如我们在登录时设置了记住密码,那么下次打开程序还是会自动填充到账号密码里面,而且记住密码的checkbox的状态的打勾的,这就是记住了设置,最后一步代码

四、登录成功记住密码

if (Convert.ToBoolean(checkBox1.IsChecked))
{
UpdateSettingString("userName", TextBox1.Text);
UpdateSettingString("password", PasswordBox.Password);
UpdateSettingString("isRemember", "true");
}
else
{
UpdateSettingString("userName", TextBox1.Text);
UpdateSettingString("password", "");
UpdateSettingString("isRemember", "");
}

到这里就大功告成,其实非常的简单的

blank