大一课程设计要设计坦克大战,实现登陆注册,因为还没有学数据库,所以只能用文件来实现。下面就是用文件简单实现登录注册功能。
这是登陆界面效果图。实现效果当我们点击登录时,如密码和用户名都正确,则显示登陆成功,否则显示显示对应的用户名或密码错误。点击注册时跳转到注册界面。(注意:密码的属性PasswordChar改为'*'最好)下面就是代码来实现登录界面。
//我玩家信息存放是:张三|12345
// 李四|12345
private void button1_Click(object sender, EventArgs e)//确定button
{
//用文件读取指定文件所有行存放在数组中,每个数组中存放如:张三|12345
string[] str = File.ReadAllLines(@"C:\Users\lenovo\Desktop\玩家信息.txt");
int j = 0;
for (int i = 0; i < str.Length; i++)
{
//因为我玩家信息存放是如:张三|12345,所以我把str数组中分隔符‘|’去掉,则str数组分成一个新数组strnew[0]存放用户名
//strnew[1]存放密码
string[] strnew = str[i].Split(new char[] { '|' });
if (textBox1.Text == strnew[0])
{
if (textBox2.Text == strnew[1])
{
MessageBox.Show("登录成功");
break;//成功就跳出循环
}
else
{
if (i==str.Length-1)//将信息循坏结束,如果无就密码错误
{
MessageBox.Show("密码错误,请重新输入");
}
}
}
else //用户名错误
{
if (i== str.Length-1)
{
MessageBox.Show("用户名错误请重新输入");
}
}
}
}
private void button2_Click(object sender, EventArgs e)//注册button,弹出注册界面
{
Form2 f2 = new Form2();
f2.Show();
}
这是注册界面,我们游历整个玩家信息文件,只要发现注册的用户名和密码有重复则提示用户名存在。只有当用户名密码和确认密码正确提示注册成功,并将该玩家信息以“张三|12345”形式写进玩家信息文件中。当点击取消时返回登陆界面。
注册界面
private void button1_Click(object sender, EventArgs e)//注册button
{
string name = textBox1.Text;
string password = textBox2.Text;
string[] str = File.ReadAllLines(@"C:\Users\lenovo\Desktop\玩家信息.txt");
for (int i = 0; i < str.Length; i++)
{
string[] strnew = str[i].Split(new char []{ '|' });
if(textBox1 .Text !=strnew[0])
{
if(textBox2 .Text !=strnew [1])
{
if(textBox2 .Text ==textBox3 .Text )//判断2次密码是否一致
{
MessageBox.Show("注册成功");
File.AppendAllText(@"C:\Users\lenovo\Desktop\玩家信息.txt","\n"+ textBox1.Text+"|"+textBox2 .Text );
break;
}
else
{
MessageBox.Show("2次密码输入不一致,请重新输入");
break;
}
}
}
else//用户名相同
{
MessageBox.Show("该用户名已经存在,请重新输入");
break;
}
}
}
private void button2_Click(object sender, EventArgs e)//取消button弹出登录界面
{
Form1 form1 = new Form1();
form1.Show();
}
}
}
这就是简易版登陆注册。如有错误,请多指正。