在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();
就這樣幾句代碼,登陸窗體就搞掂了,很簡單吧?^_^