C# winform主界面打開并關(guān)閉登錄界面的方法
在winform 界面編程中,我們有時(shí)候要在主界面打開之前先顯示登錄界面,當(dāng)?shù)卿浗缑嬗脩粜畔⑿r?yàn)正確后才打開主界面,而這時(shí)登陸界面也完成使命該功成身退了。
目前有兩種方法可實(shí)現(xiàn):
方法1. 隱藏登錄界面
Program.cs 中代碼如下:
/// <summary> /// 應(yīng)用程序的主入口點(diǎn)。 /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Login()); }
Login.cs 中代碼如下:
/// <summary> /// login /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnLogin_Click(object sender, EventArgs e) { if (txtPassword.Text == "12345678") { UI ui = new UI(); this.Visible = false; ui.ShowDialog();//此處不可用Show() this.Dispose(); this.Close(); } else { MessageBox.Show("Password is incorrect ", "Prompt message",MessageBoxButtons.OK,MessageBoxIcon.Error); } } /// <summary> /// exit /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnExit_Click(object sender, EventArgs e) { this.Dispose(); this.Close(); }
方法2. 登錄界面以 dialog形式打開,返回登錄結(jié)果
Program.cs 中代碼如下:
/// <summary> /// 應(yīng)用程序的主入口點(diǎn)。 /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Login login = new Login(); login.ShowDialog(); if (login.DialogResult == DialogResult.OK) { login.Dispose(); Application.Run(new UI()); } else if (login.DialogResult == DialogResult.Cancel) { login.Dispose(); return; } }
Login.cs 中代碼如下:
/// <summary> /// login /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnLogin_Click(object sender, EventArgs e) { if (txtPassword.Text == "12345678") { this.DialogResult = DialogResult.OK; this.Dispose(); this.Close(); } else { MessageBox.Show("Password is incorrect ", "Prompt message",MessageBoxButtons.OK,MessageBoxIcon.Error); } } /// <summary> /// exit /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnExit_Click(object sender, EventArgs e) { this.DialogResult = DialogResult.Cancel; this.Dispose(); this.Close(); }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#使用ScrapySharp快速?gòu)木W(wǎng)頁(yè)采集數(shù)據(jù)
這篇文章介紹了使用ScrapySharp快速?gòu)木W(wǎng)頁(yè)采集數(shù)據(jù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06C#實(shí)現(xiàn)將CSV轉(zhuǎn)為XLSX文件
Microsoft?Excel的XLSX格式以及基于文本的CSV(逗號(hào)分隔值)格式,是數(shù)據(jù)交換中常見的文件格式,本文主要介紹了如何在C#中以編程的方式將CSV文件轉(zhuǎn)化為XLSX?文件,需要的可以參考下2024-03-03c# List find()方法返回值的問(wèn)題說(shuō)明(返回結(jié)果為對(duì)象的指針)
本篇文章主要介紹了c#中List find()方法返回值的問(wèn)題說(shuō)明(返回結(jié)果為對(duì)象的指針) 需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-01-01C#難點(diǎn)逐個(gè)擊破(3):params數(shù)組參數(shù)
注意,這里的paras全稱是array parameter,也就是數(shù)組參數(shù)。 paras類型參數(shù)主要用于在對(duì)數(shù)組長(zhǎng)度未知(可變)的情況下進(jìn)行函數(shù)聲明。2010-02-02C#實(shí)現(xiàn)的基于二進(jìn)制讀寫文件操作示例
這篇文章主要介紹了C#實(shí)現(xiàn)的基于二進(jìn)制讀寫文件操作,結(jié)合具體實(shí)例形式分析了C#以二進(jìn)制文件流形式針對(duì)文件進(jìn)行讀寫操作的相關(guān)技巧,需要的朋友可以參考下2017-07-07