C# Winform中實(shí)現(xiàn)主窗口打開(kāi)登錄窗口關(guān)閉的方法
在使用C#進(jìn)行Winform編程時(shí),我們經(jīng)常需要使用一個(gè)登錄框來(lái)進(jìn)行登錄,一旦輸入的用戶名密碼登錄成功,這時(shí)登錄窗口應(yīng)該關(guān)閉,而且同時(shí)打開(kāi)主程序窗口。該如何來(lái)實(shí)現(xiàn)呢?
乍一想,很簡(jiǎn)單啊,打開(kāi)主窗口就用主窗口的Show()方法,而關(guān)閉登錄窗口就用登錄窗口的Close()方法即可。即代碼如下:
Program.cs中代碼:
Application.Run(new FormLogin());
登錄窗口(FormLogin)代碼:
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "a") { //驗(yàn)證用戶名密碼
FormMain fm = New FormMain();
fm.Show(); //打開(kāi)主窗口
this.Close(); //關(guān)閉登錄窗口
}
}
事實(shí)證明,這種辦法是行不通的。因?yàn)橹鞔翱谑怯傻卿洿翱诖蜷_(kāi)的,所以我們?cè)陉P(guān)閉登錄窗口時(shí),主窗口也會(huì)被一起關(guān)閉。這是一個(gè)線程樹(shù),或者窗口樹(shù)的關(guān)系,即一個(gè)窗口關(guān)閉時(shí),由它打開(kāi)的新窗口都將被關(guān)閉。
那么應(yīng)該怎么解決呢?經(jīng)過(guò)小編鑒定,網(wǎng)上有這樣一種解決辦法是很不錯(cuò)的。
Program.cs中代碼:
FormLogin fl = new FormLogin();
fl.ShowDialog();
if (fl.DialogResult == DialogResult.OK)
{
Application.Run(new FormMain());
}
else
{
return;
}
即先將登錄窗口作為一個(gè)對(duì)話框打開(kāi),如果這個(gè)對(duì)話框返回一個(gè)DialogResult.OK的值,那么就表示登錄驗(yàn)證成功了,于是打開(kāi)主窗體。如果驗(yàn)證失敗,則程序結(jié)束、退出。
在登錄窗體(FormLoin)中代碼:
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "aaa") { //驗(yàn)證用戶名密碼成功
this.DialogResult = DialogResult.OK; //返回一個(gè)登錄成功的對(duì)話框狀態(tài)
this.Close(); //關(guān)閉登錄窗口
}
}
這個(gè)方法不錯(cuò),大家可以試試。
關(guān)于Winform如何實(shí)現(xiàn)主窗口打開(kāi)時(shí)登錄窗口關(guān)閉,本文就介紹這么多,希望對(duì)您有所幫助,謝謝!
- C#實(shí)現(xiàn)簡(jiǎn)單的登錄界面
- C#有效防止同一賬號(hào)多次登錄(附三種方法)
- C#實(shí)現(xiàn)的三種模擬自動(dòng)登錄和提交POST信息的方法
- C#.NET實(shí)現(xiàn)網(wǎng)頁(yè)自動(dòng)登錄的方法
- C#使用WebClient登錄網(wǎng)站并抓取登錄后的網(wǎng)頁(yè)信息實(shí)現(xiàn)方法
- .NET C#使用微信公眾號(hào)登錄網(wǎng)站
- C#使用HttpWebRequest與HttpWebResponse模擬用戶登錄
- C#可用于登錄驗(yàn)證碼的四位隨機(jī)數(shù)生成方法
- C#實(shí)現(xiàn)登錄窗口(不用隱藏)
- C#中實(shí)現(xiàn)登錄功能的完整步驟
相關(guān)文章
C#數(shù)據(jù)結(jié)構(gòu)之順序表(SeqList)實(shí)例詳解
這篇文章主要介紹了C#數(shù)據(jù)結(jié)構(gòu)之順序表(SeqList)實(shí)現(xiàn)方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了順序表的定義、原理與具體實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11
C#設(shè)計(jì)模式之Mediator中介者模式解決程序員的七夕緣分問(wèn)題示例
這篇文章主要介紹了C#設(shè)計(jì)模式之Mediator中介者模式解決程序員的七夕緣分問(wèn)題,簡(jiǎn)單說(shuō)明了中介者模式的定義并結(jié)合七夕緣分問(wèn)題實(shí)例分析了中介者模式的具體使用技巧,需要的朋友可以參考下2017-09-09
C# 創(chuàng)建EXCEL圖表并保存為圖片的實(shí)例
下面小編就為大家分享一篇C# 創(chuàng)建EXCEL圖表并保存為圖片的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
c# 閉包的相關(guān)知識(shí)以及需要注意的地方
這篇文章主要介紹了c# 閉包的相關(guān)知識(shí)以及需要注意的地方,文中講解非常細(xì)致,代碼幫助大家理解和學(xué)習(xí),感興趣的朋友可以參考下2020-06-06
C#實(shí)現(xiàn)IP代理池調(diào)度的示例代碼
這篇文章主要為大家介紹了C#實(shí)現(xiàn)IP代理池調(diào)度的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的參考與學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下2023-07-07

