1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Linq;
7 using System.Text;
8 using System.Windows.Forms;
9 using System.Collections;
10 using System.IO;
11 using System.Runtime.Serialization.Formatters.Binary;
12
13 namespace xtragrid
14 {
15 public partial class Form1 : Form
16 {
17 ArrayList al = new ArrayList(); //用此存储用户名 当然还想存储密码就用Dictionary<>
18 public Form1()
19 {
20 InitializeComponent();
21 }
22 //窗体load 读取本地user.data文件,获取用户
23 private void Form1_Load(object sender, EventArgs e)
24 {
25 FileStream fs = new FileStream("user.data",FileMode.OpenOrCreate);//打开user.data,若不存在就建立新的
26 if (fs.Length>0)
27 {
28 BinaryFormatter bf = new BinaryFormatter();
29 al = bf.Deserialize(fs) as ArrayList; //将打开的文件流反序列化到al
30 foreach (string item in al)
31 {
32 this.comboBox1.Items.Add(item); //将al各项添加到combobox中
33 }
34 }
35 fs.Close(); //关闭流
36 this.comboBox1.SelectedIndex = this.comboBox1.Items.Count - 1; //设置combobox默认项
37 }
38 //登陆按钮
39 private void button1_Click(object sender, EventArgs e)
40 {
41 string name = this.comboBox1.Text;
42 //check name
43 if (true) //存在此用户
44 {
45 if (this.checkBox1.Checked) //勾选记住用户
46 {
47
48 if (!al.Contains(name)) //如果al中没有这个用户
49 {
50 FileStream fs = new FileStream("user.data", FileMode.Create); //创建新文件user.data
51 BinaryFormatter bf = new BinaryFormatter(); //创建二进制序列化对象
52 al.Add(name);
53 bf.Serialize(fs, al); //序列化到fs
54 fs.Close(); //关闭文件流
55 }
56 }
57 //login code
58 }
59 else
60 {
61 //no user
62 }
63
64
65 }
66 }
67 }