热门IT资讯网

登录窗体(一)

发表于:2024-11-25 作者:热门IT资讯网编辑
编辑最后更新 2024年11月25日,我们平时用的QQ、飞信、微信等等,都有一个登陆界面,我们今天就做了一个简单的登陆窗体,在关注登陆窗体的时候,我们要知道,登录窗体只是一个界面、一个验证的过程,重要的还是登陆以后在主窗体上我们要干什么。

我们平时用的QQ、飞信、微信等等,都有一个登陆界面,我们今天就做了一个简单的登陆窗体,在关注登陆窗体的时候,我们要知道,登录窗体只是一个界面、一个验证的过程,重要的还是登陆以后在主窗体上我们要干什么。

在登陆之后,转到主窗体,开始进行我们要干的事,在这里我们是要把登录窗体的登陆名传到主窗体上。这里我们的传递是通过类传递的(对窗体的具体操作都在类中),类之间传递参数或值得时候有五种方法:构造方法、公开的字段、公开的属性、公开的方法、委托。

先看我们做的登陆窗体:

下来我们就要写登陆窗体中的各种Click事件,并在登陆成功后将登录窗体中的登录名传递到主窗体中去:

//声明一个委托用来传值public delegate void SendLoginIdHandler(string loginId);public partial class frmLogin : Form{//定义一个事件public event SendLoginIdHandler SendLoginIdEvent;public frmLogin(){InitializeComponent();}bool flag = false;/// /// 确定按钮的Click事件,我们要通过点击确定按钮,/// 来触发这个事件,并判断输入的用户名和密码是否正确/// 在这里我们就先默认用户名和密码都是admin是输入正确/// /// /// private void btnOK_Click(object sender, EventArgs e){//获取用户输入的值string loginId = this.txtLoginId.Text;string loginPwd = this.txtLoginPwd.Text;//判断用户名和密码是否正确,不正确的话显示一个模态窗体并显示登录名或密码错误if (!(loginId=="admin"&&loginPwd=="admin")){MessageBox.Show("登录名或密码错误");//登录名或密码错误后返回,让用户重新输入return;}//如果能走到这一步,说明输入正确,登陆就可以结束了,登录窗体关闭,下面就显示主窗体flag = true;//如果事件不是空的,就激发事件if (SendLoginIdEvent!=null){SendLoginIdEvent(loginId);}this.Close();}/// /// 登录窗体的FormClosing事件,当flag==false的时候,说明登录失败,/// 那么接下来在关闭登录窗体的时候,退出整个应用程序。/// /// /// private void frmLogin_FormClosing(object sender, FormClosingEventArgs e){if (flag==false){Application.Exit();}}/// /// 取消按钮的Click事件,点击关闭登陆窗体/// /// /// private void btnCancel_Click(object sender, EventArgs e){this.Close();}

下面来看主窗体中的代码:

public frmMain(){InitializeComponent();}private void frmMain_Load(object sender, EventArgs e){//创建一个登录窗体的对象frmLogin frm = new frmLogin();//订阅事件frm.SendLoginIdEvent += new SendLoginIdHandler(frm_SendLoginIdEvent);//显示登录窗体frm.ShowDialog();}void frm_SendLoginIdEvent(string loginId){//通过委托传进来的值this.label1.Text = loginId;}

这个就是登陆成功后传进来的登录名。

P.S.登录窗体:1:不要太大,没有最小化和最大化按钮;(要美观,我们平时见到的登录窗体都大小适中)

2:要固定大小;(Windows窗体要报位置固定好)

3:窗体在正中间;

4:类名要规范;

5:要注意格式(天高地厚,左青龙右白虎)

0