第一步,在配置文件添加一个键值对。
<!--是否自动登录-->
<add key="autoLogin" value="true"/>
第二步,写两个方法,一个是读取,一个是修改的代码
#region 返回该软件是否自登录
public bool autoLogin()
{
String strAutoStar = "";
ExeConfigurationFileMap file = new ExeConfigurationFileMap();
file.ExeConfigFilename = System.Windows.Forms.Application.ExecutablePath + ".config";
Configuration config = System.Configuration.ConfigurationManager.OpenMappedExeConfiguration(file, ConfigurationUserLevel.None);
var myApp = (AppSettingsSection)config.GetSection("appSettings");
strAutoStar = myApp.Settings["autoLogin"].Value;
if (strAutoStar != "true" && strAutoStar != "false")
{
autoLogin("false");
return false;
}
else
{
return bool.Parse(strAutoStar);
}
}
#endregion
#region 设置该软件是否自登录
public void autoLogin(String str)
{
ExeConfigurationFileMap file = new ExeConfigurationFileMap();
file.ExeConfigFilename = System.Windows.Forms.Application.ExecutablePath + ".config";
Configuration config = System.Configuration.ConfigurationManager.OpenMappedExeConfiguration(file, ConfigurationUserLevel.None);
var myApp = (AppSettingsSection)config.GetSection("appSettings");
if (str != "true" && str != "false")
{
myApp.Settings["autoLogin"].Value = "false";
config.Save();
}
else
{
myApp.Settings["autoLogin"].Value = str;
config.Save();
}
}
#endregion
第三步,这设置窗体下,加一个checkbox控件
if (chkAutoLogin.Checked)
{
autoLogin("true");
}
else
{
autoLogin("false");
}
第四步,在登录窗体中的加载事件中进行判断
object lastValue = RegistryHelper.GetValue("UserName");//获取上次成功登陆的用户名
object lastPassword = RegistryHelper.GetValue("Password");//获取上次成功登陆的密码
if (autoLogin())
{
this.txtUserName.Text = lastValue.ToString();
txtPassword.Text = lastPassword.ToString();
tryLogin(null);
}
else
{
//正常登录的代码
}
补充 如何把登录用户名密码写入注册表
。。此处省略一千字。