![C中關(guān)閉第一個(gè)Form窗口開啟另一個(gè)新窗口方法_第1頁(yè)](http://file4.renrendoc.com/view/0d0ce6807bbbb81a2fea8dda093dbb5e/0d0ce6807bbbb81a2fea8dda093dbb5e1.gif)
![C中關(guān)閉第一個(gè)Form窗口開啟另一個(gè)新窗口方法_第2頁(yè)](http://file4.renrendoc.com/view/0d0ce6807bbbb81a2fea8dda093dbb5e/0d0ce6807bbbb81a2fea8dda093dbb5e2.gif)
![C中關(guān)閉第一個(gè)Form窗口開啟另一個(gè)新窗口方法_第3頁(yè)](http://file4.renrendoc.com/view/0d0ce6807bbbb81a2fea8dda093dbb5e/0d0ce6807bbbb81a2fea8dda093dbb5e3.gif)
![C中關(guān)閉第一個(gè)Form窗口開啟另一個(gè)新窗口方法_第4頁(yè)](http://file4.renrendoc.com/view/0d0ce6807bbbb81a2fea8dda093dbb5e/0d0ce6807bbbb81a2fea8dda093dbb5e4.gif)
![C中關(guān)閉第一個(gè)Form窗口開啟另一個(gè)新窗口方法_第5頁(yè)](http://file4.renrendoc.com/view/0d0ce6807bbbb81a2fea8dda093dbb5e/0d0ce6807bbbb81a2fea8dda093dbb5e5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——C中關(guān)閉第一個(gè)Form窗口,開啟另一個(gè)新窗口方法C#中關(guān)閉第一個(gè)Form窗口,開啟另一個(gè)新窗口方法
好多同學(xué)問(wèn)怎么關(guān)閉一個(gè)FORM開啟另一個(gè)新Form。這個(gè)問(wèn)題最多的是在做登錄驗(yàn)證時(shí),使用第一個(gè)登錄窗登錄成功后要關(guān)閉自己,然后開啟新窗顯示。沒(méi)想到這個(gè)問(wèn)題在.Net還成了問(wèn)題,不過(guò)仍舊有好多方法解決。典型的
Form1f=newForm1();f.Show();this.Close();
最終的關(guān)閉時(shí)把整個(gè)程序都關(guān)閉了
1隱蔽法,原理就是把舊窗口隱蔽掉,再開啟新窗口。//新建一個(gè)NewForm窗口(NewForm是自己定義的Form)NewFormfm=newNewForm()
this.Hide();//隱蔽現(xiàn)在這個(gè)窗口fm.Show();//新窗口顯現(xiàn)
這種方法舊的窗口依舊會(huì)占內(nèi)存,因此假使用來(lái)做登陸窗口不太好,但是假使舊窗口是以后還需要恢復(fù)的主窗口,這個(gè)方法便很不錯(cuò),由于以后可以關(guān)掉新窗口,再用舊窗口.Show()就可以恢復(fù)舊窗口了。
所以這個(gè)方法適合在主窗口和子窗口間傳遞信息。
2、再來(lái)便是為登錄窗口設(shè)計(jì)的方法了。在Program.cs里這樣定義:
staticvoidMain(){
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//新建Login窗口(Login是自己定義的Form)LoginLog=newLogin();
//使用模式對(duì)話框方法顯示LogLog.ShowDialog();
//DialogResult就是用來(lái)判斷是否返回父窗體的if(Log.DialogResult==DialogResult.OK){
//在線程中開啟主窗體
Application.Run(newMain());}}
在登陸窗口中驗(yàn)證終止后要賦值Log.DialogResult=DialogResult.OK。登錄窗口完成任務(wù)后會(huì)被直接關(guān)掉,主窗口就開啟了
網(wǎng)上大多都是前面2種方法,另外還看到一個(gè)方法用線程的方法方法,未驗(yàn)證3開新線程
publicstaticvoidThreadProc(){
Application.Run(newForm());}
privatevoidbutton1_Click(objectsender,EventArgse){
System.Threading.Threadt=newSystem.Threading.Thread(newSystem.Threading.ThreadStart(ThreadProc));t.Start();}
C#編程時(shí),經(jīng)常會(huì)遇四處理兩個(gè)或多個(gè)窗口的問(wèn)題。以登錄窗口為例,當(dāng)?shù)卿洿翱诘卿涷?yàn)證成功后,要進(jìn)入主窗口,此時(shí)需要關(guān)閉登錄窗口,這時(shí)候用this.close()是不可以的。由于Program.cs中
staticvoidMain(){
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);Application.Run(newForm1());}
Main函數(shù)是程序的入口點(diǎn),當(dāng)你在Form1中調(diào)用this.close()的時(shí)候,Application.Run(newForm1())中Form1就會(huì)終止,也就是說(shuō)整個(gè)程序終止了,此時(shí)主窗口也會(huì)相應(yīng)的關(guān)閉,這不是我們想看到的。下面有兩種方法來(lái)只關(guān)閉登錄窗口,而主窗口依舊運(yùn)行。
4.先隱蔽登錄窗口,然后在主窗口關(guān)閉后將登錄窗口關(guān)閉
這種方法只是把登錄窗口隱蔽了,主程序還在運(yùn)行。實(shí)現(xiàn)方法為:登錄窗口代碼:
if(user.CheckIn()){
MainFormmyform=newMainForm(this);//調(diào)用帶參的構(gòu)造函數(shù)myform.Show();this.Hide();}else{
MessageBox.Show(\用戶名或密碼錯(cuò)誤\}
登錄成功后,通過(guò)構(gòu)造函數(shù)傳入登錄窗口的參數(shù)到主窗口,這樣在主窗口里可以直接對(duì)登錄窗口操作
Form1loginform=null;//在主窗口添加帶參的構(gòu)造函數(shù)publicMainForm(Form1myform){
this.loginform=myform;InitializeComponent();}
主窗口關(guān)閉后,關(guān)閉登錄窗口
privatevoidMainForm_FormClosed(objectsender,FormClosedEventArgse){
loginform.Close();}
5.將主窗口程序設(shè)為主運(yùn)行程序,修改Program.cs
Application.Run(newMainForm());
這樣系統(tǒng)啟動(dòng)時(shí),運(yùn)行的是主窗口程序。然后在主窗口加載時(shí)去調(diào)用登錄窗口就可以了。
privatevoidMainForm_Load(objectsender,EventArgse){
Form1form=newForm1();form.ShowDialog();this.Close();}
登錄窗口代碼為:if(user.CheckIn()){
this.Close();}else{
MessageBox.Show(\用戶名或密碼錯(cuò)誤\}
C#在一個(gè)窗口中開啟另一個(gè)窗口,同時(shí)關(guān)閉該窗口
C#編程時(shí),經(jīng)常會(huì)遇四處理兩個(gè)或多個(gè)窗口的問(wèn)題。以登錄窗口為例,當(dāng)?shù)卿洿翱诘卿涷?yàn)證成功后,要進(jìn)入主窗口,此時(shí)需要關(guān)閉登錄窗口,這時(shí)候用this.close()是不可以的。由于Program.cs中staticvoidMain(){
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);Application.Run(newForm1());}
Main函數(shù)是程序的入口點(diǎn),當(dāng)你在Form1中調(diào)用this.close()的時(shí)候,
Application.Run(newForm1())中Form1就會(huì)終止,也就是說(shuō)整個(gè)程序終止了,此時(shí)主窗口也會(huì)相應(yīng)的關(guān)閉,這不是我們想看到的。下面有兩種方法來(lái)只關(guān)閉登錄窗口,而主窗口依舊運(yùn)行。
1.先隱蔽登錄窗口,然后在主窗口關(guān)閉后將登錄窗口關(guān)閉
這種方法只是把登錄窗口隱蔽了,主程序還在運(yùn)行。實(shí)現(xiàn)方法為:登錄窗口代碼:if(user.CheckIn()){MainFormmyform=newMainForm(this);//調(diào)用帶參的構(gòu)造函數(shù)myform.Show();this.Hide();}else{MessageBox.Show(\用戶名或密碼錯(cuò)誤\}
登錄成功后,通過(guò)構(gòu)造函數(shù)傳入登錄窗口的參數(shù)到主窗口,這樣在主窗口里可以直接對(duì)登錄窗口操作
Form1loginform=null;
//在主窗口添加帶參的構(gòu)造函數(shù)publicMainForm(Form1myform){
this.loginform=myform;InitializeComponent();}
主窗口關(guān)閉后,關(guān)閉登錄窗口
privatevoidMainForm_FormClosed(objectsender,FormClosedEventArgse){
loginform.Close();}
2.將主窗口程序設(shè)為主運(yùn)行程序,修改Program.cs
Application.Run(newMainForm());這樣系統(tǒng)啟動(dòng)時(shí),運(yùn)行的是主窗口程序。然后在主窗口加載時(shí)去調(diào)用登錄窗口就可以了。privatevoidMainForm_Load(objectsender,EventArgse){
Form1form=newForm1();form.ShowDia
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年肥酒項(xiàng)目可行性研究報(bào)告
- 2025年環(huán)氧乙烷滅菌器項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國(guó)流行時(shí)裝行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年料盤項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國(guó)多孔鈦棒行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年塑料培育盤項(xiàng)目可行性研究報(bào)告
- 2025年半導(dǎo)體/磁性材料清洗設(shè)備項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國(guó)PC防爆燈罩行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2030年中國(guó)高效低噪音螺旋分離器數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)降焦醋纖濾棒數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 人教版七年級(jí)歷史下冊(cè)教學(xué)計(jì)劃(及進(jìn)度表)
- 建筑工程節(jié)后復(fù)工自查表
- 華萊士標(biāo)準(zhǔn)化體系
- 初中語(yǔ)文九年級(jí)下冊(cè)閱讀理解50篇附答案解析
- 快捷smt全自動(dòng)物料倉(cāng)儲(chǔ)方案
- 火電廠各指標(biāo)指標(biāo)解析(最新版)
- keysight眼圖和抖動(dòng)噪聲基礎(chǔ)知識(shí)與測(cè)量方法
- TPU材料項(xiàng)目可行性研究報(bào)告寫作參考范文
- 試用期考核合格證明表
- 鍋爐補(bǔ)給水陰陽(yáng)混床操作步序表
- 2005年第4季度北京住房租賃指導(dǎo)價(jià)格
評(píng)論
0/150
提交評(píng)論