WinForm中的登錄實現(xiàn)
更新時間:2012年11月07日 16:58:34 作者:
在一般的C/S系統(tǒng)中,登錄功能基本上是必備功能,總結(jié)了三種C# Winform登錄功能的實現(xiàn)方法
在一般的C/S系統(tǒng)中,登錄功能基本上是必備功能,
總結(jié)了三種C# Winform登錄功能的實現(xiàn)方法。
第一種:在應(yīng)用程序設(shè)置代碼里(Program.cs)將應(yīng)用程序入口改成系統(tǒng)主窗口
聽起來有點繞,就是說,在應(yīng)用程序初始化時,第一個加載的頁面是我們登錄后的主頁面。
1、在Program.cs文件中設(shè)置Application.Run:
Application.Run(new FormMain());//設(shè)置應(yīng)用程序運行時加載的窗口
2、添加登錄按鈕事件private void button1_Click(object sender, EventArgs e)代碼
private void button1_Click(object sender, EventArgs e)//登錄
{
if (this.textBoxPassword.Text == "")
{
MessageBox.Show("請輸入密碼!");
}
else if (this.textBoxUsername.Text=="123" && this.textBoxPassword.Text == "123")
{
this.DialogResult = DialogResult.OK;
this.Close();
}
else
{
MessageBox.Show("Username or Password Error");
}
}
3、添加主窗口formMain加載時事件代碼
private void main_Load(object sender, EventArgs e)
{
Form formLogin = new login();
formLogin.ShowDialog();
if (formLogin.DialogResult == DialogResult.OK)//如果登錄框返回DialogResult.OK
{
MessageBox.Show("正常登錄");
}
else
{
this.Close();
}
}
設(shè)計邏輯:
首先程序load主窗口formMain,這時formMain就會new一個login登錄窗口并彈出窗口,然后關(guān)閉自身。在登錄窗口驗證用戶名和密碼后通過登錄窗口的this.DialogResult = DialogResult.OK;并關(guān)閉登錄框。關(guān)閉以后formMain的main_Load事件再次判斷登錄框的DialogResult是否是OK,如果是則加載主窗口。
第二種:通過登錄驗證來控制是否是否執(zhí)行Application.Run()。
代碼如下:
Form formLogin = new login();
formLogin.ShowDialog();
if (formLogin.DialogResult == DialogResult.OK)
{
Application.Run(new formMain());
}
else
{
return;
}
這種方法的原理理解起來相對第一種來說要簡單些,在應(yīng)用程序初始化時,首先加載登錄窗口并進行驗證,只有驗證通過才Run(new formMain());
第三種:在通過登錄驗證后,直接將登錄框隱藏(注是隱藏,this.Hide()而不是this.Close())。這種方法理解起來就更簡單了。
總結(jié)了三種C# Winform登錄功能的實現(xiàn)方法。
第一種:在應(yīng)用程序設(shè)置代碼里(Program.cs)將應(yīng)用程序入口改成系統(tǒng)主窗口
聽起來有點繞,就是說,在應(yīng)用程序初始化時,第一個加載的頁面是我們登錄后的主頁面。
1、在Program.cs文件中設(shè)置Application.Run:
復制代碼 代碼如下:
Application.Run(new FormMain());//設(shè)置應(yīng)用程序運行時加載的窗口
2、添加登錄按鈕事件private void button1_Click(object sender, EventArgs e)代碼
復制代碼 代碼如下:
private void button1_Click(object sender, EventArgs e)//登錄
{
if (this.textBoxPassword.Text == "")
{
MessageBox.Show("請輸入密碼!");
}
else if (this.textBoxUsername.Text=="123" && this.textBoxPassword.Text == "123")
{
this.DialogResult = DialogResult.OK;
this.Close();
}
else
{
MessageBox.Show("Username or Password Error");
}
}
3、添加主窗口formMain加載時事件代碼
復制代碼 代碼如下:
private void main_Load(object sender, EventArgs e)
{
Form formLogin = new login();
formLogin.ShowDialog();
if (formLogin.DialogResult == DialogResult.OK)//如果登錄框返回DialogResult.OK
{
MessageBox.Show("正常登錄");
}
else
{
this.Close();
}
}
設(shè)計邏輯:
首先程序load主窗口formMain,這時formMain就會new一個login登錄窗口并彈出窗口,然后關(guān)閉自身。在登錄窗口驗證用戶名和密碼后通過登錄窗口的this.DialogResult = DialogResult.OK;并關(guān)閉登錄框。關(guān)閉以后formMain的main_Load事件再次判斷登錄框的DialogResult是否是OK,如果是則加載主窗口。
第二種:通過登錄驗證來控制是否是否執(zhí)行Application.Run()。
代碼如下:
復制代碼 代碼如下:
Form formLogin = new login();
formLogin.ShowDialog();
if (formLogin.DialogResult == DialogResult.OK)
{
Application.Run(new formMain());
}
else
{
return;
}
這種方法的原理理解起來相對第一種來說要簡單些,在應(yīng)用程序初始化時,首先加載登錄窗口并進行驗證,只有驗證通過才Run(new formMain());
第三種:在通過登錄驗證后,直接將登錄框隱藏(注是隱藏,this.Hide()而不是this.Close())。這種方法理解起來就更簡單了。
您可能感興趣的文章:
- C# Winform 禁止用戶調(diào)整ListView的列寬
- c#中Winform實現(xiàn)多線程異步更新UI(進度及狀態(tài)信息)
- C# Winform下載文件并顯示進度條的實現(xiàn)代碼
- C#中WinForm程序退出方法技巧總結(jié)
- C# WinForm中禁止改變窗口大小的方法
- C#,winform,ShowDialog,子窗體向父窗體傳值
- WinForm中DataGridView添加,刪除,修改操作具體方法
- c# winform多線程的小例子
- WinForm窗體間傳值的方法
- WinForm中快捷鍵與組合按鍵的設(shè)置方法
- .NET WinForm實現(xiàn)在listview中添加progressbar的方法
相關(guān)文章
C#中Backgroundworker與Thread的區(qū)別
本文主要介紹了C#中Backgroundworker與Thread的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-06-06