以实现如何像QQ登录窗口那样为例 记住密码 下次不用重输密码
其实这个原理很简单,将第一次输出的密码和用户名保存在本地的xml或者ini文件里面。然后下次登录使用的时候,窗口初始化时候就读取上次登录已经将用户信息保存下来的xml文件即可。所以就是简答的读写xml文件就可以了,绑定到对应的文本框里面。
这里我以我最近做的一个项目出发,这里也需要实现记住密码。具体窗口如下。
页面控件的拖放我就不讲了。很简单的
实现的后台代码如下:
【1】读取XML文件信息
/// 从 XML 文件中读取数据库配置信息
private void LoadConfigInfo()
{
DataSet dsConfig = new DataSet();
try
{
dsConfig.ReadXml("DBConfig.xml"); //读入XML文件
if ((dsConfig != null)
&& (dsConfig.Tables[0].Rows.Count > 0))
{
DataRow dr = dsConfig.Tables[0].Rows[0];
#region 赋值给各个控件
//tbxServerName.Text = dr["ServerName"].ToString().Trim();
txtUserName.Text = dr["UserName"].ToString().Trim();
txtPassword.Text = dr["Password"].ToString().Trim();
//cobDBName.Text = dr["DBName"].ToString().Trim();
cbxPassword.Checked = (txtPassword.Text != "");
#endregion
}
}
catch (Exception)
{ }
}
【2】保存数据库配置信息到 XML 文件
private void SaveConfigInfo()
{
DataSet dbResult = new DataSet();
DataTable dataTable = new DataTable();
#region 添加列
//dataTable.Columns.Add("ServerName");
dataTable.Columns.Add("UserName");
dataTable.Columns.Add("Password");
//dataTable.Columns.Add("DBName");
#endregion
dbResult.Tables.Add(dataTable);
DataRow dataRow = dbResult.Tables[0].NewRow();
#region 赋值给各个字段
//dataRow["ServerName"] = tbxServerName.Text;
dataRow["UserName"] = txtUserName.Text;
//dataRow["DBName"] = cobDBName.Text;
if (cbxPassword.Checked)
{
dataRow["Password"] = txtPassword.Text;
}
else
{
dataRow["Password"] = "";
}
#endregion
dbResult.Tables[0].Rows.Add(dataRow);
// 保存数据库设置到 XML 文件
dbResult.WriteXml("DBConfig.xml");
}
【3】XML文件
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<Table1>
<UserName>sa</UserName>
<Password>admin@123456</Password>
</Table1>
</NewDataSet>