又找回一个

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();

 

就这样几句代码,登陆窗体就搞掂了,很简单吧?^_^

posted on 2005-09-26 23:24  电机拖动  阅读(1246)  评论(3编辑  收藏  举报