在CSDN论坛的C#版,常常有人问道如何创建登陆的问题,很多人觉得应该使用多线程。事实上,根本不需要用到多线程。下面,我就将整个过程详细的写出来,以帮助初学者。
假设您现在已经有了一个WondowsForm应用的工程,并且已经有了主窗体,名为Form1(即程序入口点所在的窗体)
1、 新添加一个窗体,这个窗体将作为你的登陆窗体。
我的示例窗体是这样的,textbox中的文字是它的名字。
2、 接下来在Form2,也就是这个登陆窗体的代码视图中加入
private bool ISLOGIN = false;
就加在其构造函数的前面。这东西我们等下要用。
然后加一个属性
public bool isLogin
{
get
{
return this.ISLOGIN;
}
}
3、 在Login按钮的Click事件处理方法中加入你自己的验证代码,可以是读数据库,也可以是别的任何的方法。这里,我就举个最简单的例子
if(this.txtUserID.Text =="Reeezak" && this.txtPassword.Text == "CSDN")
{
this.ISLOGIN = true;
this.Close();//登陆成功才关闭登陆登陆窗体
}
else
{
MessageBox.Show("Invalid User or Password,try again!");
}
4、 在主窗体中main方法里面,将代码改成
Form2 f2 = new Form2();
f2.ShowDialog();
if(f2.isLogin == true)
{
Application.Run(new Form1());
}
5、 最后,说一说那两个按钮的问题。不能将Login按钮的DialogResult设置成“OK”(最好就设置成None,反正我们自定义了)否则,不论登陆成功与否都会关闭登陆窗体。我们在它的Click事件处理方法里面已经有了this.Close()所以就不需要了。
关于Cancel按钮,有两个办法。最方便的就是将其DialogResult设置为cancel。如果设置为none,则给它添加一个Click事件处理方法,里面的内容就一句,this.Close();
就这样几句代码,登陆窗体就搞掂了,很简单吧?^_^