首先我们要搭建三个窗体。
FrmLogin
FrmRegister
FrmMain
2.我们先看一下第一个窗体的代码
首先我们先双击窗体进入代码页面
public UserInfo[] users=new UserInfo[10]; //创建长度为0的数组
private void FrmLogin_Load(object sender, EventArgs e) //双击窗体
{
//01.给数组的前3个位置赋值
InitDataToArray();
}
private void InitDataToArray() //为数组赋初值的方法
{
UserInfo user1=new UserInfo(); //赋值第一种方法
user1.Uid = 1;
user1.Uemail = "1";
user1.Upwd = "1";
//让游离的 user1对象 归属于 users数组
users[0] = user1;
users[1] = new UserInfo(); //赋值的第二种方法
users[1].Uid = 2;
users[1].Uemail = "2";
users[1].Upwd = "2";
}
在双击登陆按钮
private void btnLogin_Click(object sender, EventArgs e) //双击登陆按钮
{
//1.0 一个标记,代表登录结果
bool flag = false;
//1.1 如何判定用户录入的 邮箱和 密码是正确的
string email = txtEmail.Text;
string pwd = txtPwd.Text;
//1.2 循环遍历数组,依次取出每一项 item
foreach (UserInfo item in users)
{
//1.3 每一个item代表一个UserInfo对象
if (item!=null)
{
if (item.Uemail.Equals(email)&&item.Upwd.Equals(pwd))
{
//证明 邮箱 和密码 都是匹配的
flag = true;
}
}
}
// 1.4 除了循环,判定flag是真还是假
if (flag==true)
{
//进入主窗体
FrmMain frm=new FrmMain();
frm.email = txtEmail.Text;
frm.Show();
}
else
{
MessageBox.Show("登录失败");
}
我们要为没有账号的用户注册账号
private void llbRegist_LinkClicked(object sender,LinkLabelLinkClickedEventArgs e) // 双击注册按钮
{
//01. 自身隐藏
//this 代表的当前窗体对象
this.Hide();
//02.让注册显示
FrmRegister frm=new FrmRegister();
frm.login = this;
frm.Show();
}
第二个页面注册
//定义窗体对象保存logininfo窗体传过来的值
public FrmLogin fl;
//点击注册触发的事件
private void btnregin_Click(object sender, EventArgs e) //双击注册战网
{
if (ProvingInfo() == true)
{
//获取文本框中对应的值
string name = txtname.Text;
string email = txtemail.Text;
string cid = txtcid.Text;
string password = txtpassword.Text;
LoginInfo info = new LoginInfo();
info.Name = name;
info.Id = cid;
info.Email = email;
info.Password = password;
MessageBox.Show("注册成功!");
for (int i = 0; i < LoginInfo.array.Length; i++)
{
if (LoginInfo.array[i] == null)
{
LoginInfo.array[i] = info;
break;
}
}
}
}
//验证填写信息
public bool ProvingInfo()
{
if(txtname.Text.Trim().Equals(string.Empty))
{
MessageBox.Show("请填写姓名");
this.txtname.Focus();
return false;
}
else if(txtcid.Text.Trim().Equals(string .Empty))
{
MessageBox.Show("请填身份证号码");
this.txtcid.Focus();
return false;
}
else if (txtemail.Text.Trim().Equals(string.Empty))
{
MessageBox.Show("请填身份证号码");
this.txtemail.Focus();
return false;
}
else if (txtpassword.Text.Trim().Equals(string.Empty))
{
MessageBox.Show("请填写密码");
this.txtpassword.Focus();
return false;
}
else if (txtone.Text.Trim().Equals(string.Empty))
{
MessageBox.Show("请确认邮箱输入");
this.txtone.Focus();
return false;
}
else if (txtokone.Text.Trim().Equals(string.Empty))
{
MessageBox.Show("请确认密码输入");
this.txtokone.Focus();
return false;
}
else if (!txtemail.Text.Equals(txtone.Text))
{
MessageBox.Show("两次输入的邮箱不一致");
return false;
}
else if(!txtpassword.Text.Equals(txtokone.Text))
{
MessageBox.Show("两次输入的密码不一致");
return false;
}
else
{
return true;
}
第三个页面显示 “欢迎你***”。
//定义变量保存窗体传过来的值
public string loginame;
//Load事件
private void FrmMain_Load(object sender, EventArgs e) //双击窗体
{
//给label控件赋值
lblloginname.Text = "欢迎" + loginame + "来到魔兽世界";
}