我们平时用的QQ、飞信、微信等等,都有一个登陆界面,我们今天就做了一个简单的登陆窗体,在关注登陆窗体的时候,我们要知道,登录窗体只是一个界面、一个验证的过程,重要的还是登陆以后在主窗体上我们要干什么。
成都创新互联公司网站建设提供从项目策划、软件开发,软件安全维护、网站优化(SEO)、网站分析、效果评估等整套的建站服务,主营业务为成都网站制作、网站设计,app开发定制以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。成都创新互联公司深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!在登陆之后,转到主窗体,开始进行我们要干的事,在这里我们是要把登录窗体的登陆名传到主窗体上。这里我们的传递是通过类传递的(对窗体的具体操作都在类中),类之间传递参数或值得时候有五种方法:构造方法、公开的字段、公开的属性、公开的方法、委托。
先看我们做的登陆窗体:
下来我们就要写登陆窗体中的各种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:要注意格式(天高地厚,左青龙右白虎)
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。