Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya dapat mengekalkan aplikasi saya selepas menutup borang permulaan?
menjaga aplikasi anda aktif selepas menutup borang permulaan
Anda mungkin menghadapi masalah di mana menutup borang awal (Form1) juga menamatkan keseluruhan permohonan, walaupun bentuk lain (seperti Form2) dibuka. Ini kerana kitaran hayat aplikasi terikat dengan bentuk utama.hanya menyembunyikan Form1 dan bukannya menutupnya memastikan aplikasi berjalan, tetapi memperkenalkan masalah: Aplikasi tidak akan ditutup dengan anggun apabila Form2 ditutup.
Penyelesaiannya terletak pada mengubah kod
, yang mengawal tingkah laku penutupan aplikasi. Inilah kod yang diselaraskan untuk memastikan aplikasi berjalan selepas borang awal ditutup: Program.cs
<code class="language-csharp"> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Form1 main = new Form1(); main.FormClosed += FormClosed; main.Show(); Application.Run(); } static void FormClosed(object sender, FormClosedEventArgs e) { ((Form)sender).FormClosed -= FormClosed; //Detach event handler if (Application.OpenForms.Count == 0) { Application.ExitThread(); // Exit only when all forms are closed } else { Application.OpenForms[0].FormClosed += FormClosed; // Attach to the next open form } }</code>Kod yang lebih baik ini adalah yang berikut:
FormClosed
Application.OpenForms.Count == 0
dengan anggun menutup permohonan. Application.ExitThread()
FormClosed
Atas ialah kandungan terperinci Bagaimanakah saya dapat mengekalkan aplikasi saya selepas menutup borang permulaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!