91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

登錄窗體(一)

發布時間:2020-04-06 20:04:44 來源:網絡 閱讀:586 作者:象牙塔語錄 欄目:編程語言

我們平時用的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:要注意格式(天高地厚,左青龍右白虎)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

九龙坡区| 朝阳区| 平远县| 宁化县| 明溪县| 绥棱县| 天峻县| 都江堰市| 黑河市| 定襄县| 安化县| 沙河市| 城步| 苍溪县| 乐清市| 安多县| 太保市| 林口县| 凌云县| 汉阴县| 台东市| 大姚县| 循化| 凌源市| 安阳市| 佛山市| 高青县| 即墨市| 镇赉县| 武穴市| 闸北区| 天祝| 日照市| 安平县| 临夏市| 许昌县| 平山县| 沅江市| 乃东县| 泽普县| 五大连池市|