Winform实现登录窗体中记住密码的功能,如图:
代码如下:
1、窗体Form1加载:
List<UserInfo> item=new List<UserInfo>();
UserInfo userInfo = new UserInfo();
BUserInfo bUserInfo = new BUserInfo();
Dictionary<string, UserInfo> users = new Dictionary<string, UserInfo>();
private void Form1_Load(object sender, EventArgs e)
{
FileStream fs = new FileStream("data.bin", FileMode.OpenOrCreate);
if (fs.Length > 0)
{
BinaryFormatter bf = new BinaryFormatter();
users = bf.Deserialize(fs) as Dictionary<string, UserInfo>;
foreach (UserInfo user in users.Values)
{
comboBox1.Items.Add(user.UserName);
}
for (int i = 0; i < users.Count; i++)
{
if (comboBox1.Text != "")
{
if (users.ContainsKey(comboBox1.Text))
{
textBox2.Text = users[comboBox1.Text].UserPwd;
checkBox1.Checked = true;
}
}
}
}
fs.Close();
item = (List<UserInfo>)bUserInfo.GetAll();
comboBox1.DataSource = item;
comboBox1.DisplayMember = "UserName";
}
2、选择用户名:
private void comboBox1_SelectedValueChanged(object sender, EventArgs e)
{
FileStream fs = new FileStream("data.bin", FileMode.OpenOrCreate);
if (fs.Length > 0)
{
BinaryFormatter bf = new BinaryFormatter();
users = bf.Deserialize(fs) as Dictionary<string, UserInfo>;
for (int i = 0; i < users.Count; i++)
{
if (comboBox1.Text != "")
{
if (users.ContainsKey(comboBox1.Text) && users[comboBox1.Text].UserPwd != "")
{
textBox2.Text = users[comboBox1.Text].UserPwd;
checkBox1.Checked = true;
}
else
{
textBox2.Text = "";
checkBox1.Checked = false;
}
}
}
}
fs.Close();
}
3、点击登录控件button1事件: