您好,登錄后才能下訂單哦!
我們平時用的QQ、飛信、微信等等,都有一個登陸界面,我們今天就做了一個簡單的登陸窗體,在關注登陸窗體的時候,我們要知道,登錄窗體只是一個界面、一個驗證的過程,重要的還是登陸以后在主窗體上我們要干什么。
在登陸之后,轉到主窗體,開始進行我們要干的事,在這里我們是要把登錄窗體的登陸名傳到主窗體上。這里我們的傳遞是通過類傳遞的(對窗體的具體操作都在類中),類之間傳遞參數或值得時候有五種方法:構造方法、公開的字段、公開的屬性、公開的方法、委托。
先看我們做的登陸窗體:
下來我們就要寫登陸窗體中的各種Click事件,并在登陸成功后將登錄窗體中的登錄名傳遞到主窗體中去:
//聲明一個委托用來傳值 public delegate void SendLoginIdHandler(string loginId); public partial class frmLogin : Form { //定義一個事件 public event SendLoginIdHandler SendLoginIdEvent; public frmLogin() { InitializeComponent(); } bool flag = false; /// <summary> /// 確定按鈕的Click事件,我們要通過點擊確定按鈕, /// 來觸發這個事件,并判斷輸入的用戶名和密碼是否正確 /// 在這里我們就先默認用戶名和密碼都是admin是輸入正確 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> 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(); } /// <summary> /// 登錄窗體的FormClosing事件,當flag==false的時候,說明登錄失敗, /// 那么接下來在關閉登錄窗體的時候,退出整個應用程序。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void frmLogin_FormClosing(object sender, FormClosingEventArgs e) { if (flag==false) { Application.Exit(); } } /// <summary> /// 取消按鈕的Click事件,點擊關閉登陸窗體 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> 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:要注意格式(天高地厚,左青龍右白虎)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。