C# Winform中完成主窗口翻開登錄窗口封閉的辦法。本站提示廣大學習愛好者:(C# Winform中完成主窗口翻開登錄窗口封閉的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C# Winform中完成主窗口翻開登錄窗口封閉的辦法正文
在應用C#停止Winform編程時,我們常常須要應用一個登錄框來停止登錄,一旦輸出的用戶名暗碼登錄勝利,這時候登錄窗口應當封閉,並且同時翻開主法式窗口。該若何來完成呢?
乍一想,很簡略啊,翻開主窗口就用主窗口的Show()辦法,而封閉登錄窗口就用登錄窗口的Close()辦法便可。即代碼以下:
Program.cs中代碼:
Application.Run(new FormLogin());
登錄窗口(FormLogin)代碼:
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "a") { //驗證用戶名暗碼
FormMain fm = New FormMain();
fm.Show(); //翻開主窗口
this.Close(); //封閉登錄窗口
}
}
現實證實,這類方法是行欠亨的。由於主窗口是由登錄窗口翻開的,所以我們在封閉登錄窗口時,主窗口也會被一路封閉。這是一個線程樹,或許窗口樹的關系,即一個窗口封閉時,由它翻開的新窗口都將被封閉。
那末應當怎樣處理呢?經由小編判定,網上有如許一種處理方法是很不錯的。
Program.cs中代碼:
FormLogin fl = new FormLogin();
fl.ShowDialog();
if (fl.DialogResult == DialogResult.OK)
{
Application.Run(new FormMain());
}
else
{
return;
}
即先將登錄窗口作為一個對話框翻開,假如這個對話框前往一個DialogResult.OK的值,那末就表現登錄驗證勝利了,因而翻開主窗體。假如驗證掉敗,則法式停止、加入。
在登錄窗體(FormLoin)中代碼:
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "aaa") { //驗證用戶名暗碼勝利
this.DialogResult = DialogResult.OK; //前往一個登錄勝利的對話框狀況
this.Close(); //封閉登錄窗口
}
}
這個辦法不錯,年夜家可以嘗嘗。
關於Winform若何完成主窗口翻開時登錄窗口封閉,本文就引見這麼多,願望對您有所贊助,感謝!