在.net的WinForm程序中,如果是直接起動的Form作為主窗口,那么這個主窗口是不能關閉的,因為它維護了一個Windows消息循環,它一旦關閉了就等於聲明整個應用程序結束,所以新打開的窗口也就被自動關閉了。因此要關閉的窗口不能用Application.Run創建。要在關閉一個窗口的同時打開 ...
在.net的WinForm程序中,如果是直接起動的Form作為主窗口,那么這個主窗口是不能關閉的,因為它維護了一個Windows消息循環,它一旦關閉了就等於聲明整個應用程序結束,所以新打開的窗口也就被自動關閉了。因此要關閉的窗口不能用Application.Run創建。如何使用Hide 只是隱藏,其實進程還被占用着 之類或者Close 這個操作會把所有窗體關閉,因為屬於同一個線程 是達不到我們需要 ...
2016-10-21 14:55 0 5387 推薦指數:
在.net的WinForm程序中,如果是直接起動的Form作為主窗口,那么這個主窗口是不能關閉的,因為它維護了一個Windows消息循環,它一旦關閉了就等於聲明整個應用程序結束,所以新打開的窗口也就被自動關閉了。因此要關閉的窗口不能用Application.Run創建。要在關閉一個窗口的同時打開 ...
使用常規方法的話這個功能很難實現,一般只能隱藏並不能關閉。應為你要是先關閉當前那么新窗口就打開不了了,先打開關閉再關閉也並不能關閉,下面使用線程完美解決這個問題 ...
...
依次打開settings => Appearance & Behavior => System Settings ,找到 Reopen projects on startup 選項,改為 New window 或 Ask 即可 ...
添加一個按鈕,並為按鈕添加點擊事件(注:Frm_Main為需要跳轉的窗口名字) ...
一、在stdafx.h文件中,添加: #include "Form2.h" 二、在按鈕響應事件中添加如下代碼: Form2 ^f = gcnew Form2();f->Sho ...
Application.ExitThread();是退出當前線程。 首先默認情況下我們的程序是單線程的,this.hide();后把當前窗體隱藏起來了, 然后main.showdialog();模態彈出新窗口。 這個時候線程不會繼續執行(被阻塞了),直到我們關閉了新 ...
FrmMain main = new FrmMain(); main.Owner = this; this.Hide(); main.ShowDialog(); Application.ExitThr ...