Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk mengelakkan penutupan permohonan semasa menutup borang permulaan?
Dalam kes pelbagai tingkap dalam aplikasi, aplikasi mungkin mencabar apabila aplikasi tamat apabila tetingkap permulaan ditutup. Artikel ini membincangkan cara yang betul untuk menangani keadaan ini.
Percubaan Awal
Pada mulanya, anda boleh cuba menggunakan kod berikut untuk menutup Form1 dan paparan Form2:
Walaupun ini dapat menghalang Form2 daripada ditutup, ia akan menghasilkan kelemahan baru: Apabila Form2 dimatikan, permohonan itu tidak akan keluar.
<code class="language-c#">Form2 frm = new Form2(); frm.Show(); this.Close();</code>
penyelesaian
<code class="language-c#">Form2 frm = new Form2(); frm.Show(); this.Hide();</code>
Untuk menyelesaikan kedua -dua masalah ini, penyelesaiannya adalah untuk mengubah suai kod dalam fail Program.CS, yang mentakrifkan permohonan aplikasi dalam fail ini. Dengan menyesuaikan kod ini, anda boleh menghalang penamatan aplikasi apabila anda menutup tetingkap permulaan.
Dalam kod yang diubah suai berikut, tambahkan program pemprosesan acara ke tetingkap permulaan untuk memantau acara penutupannya:
Apabila tetingkap permulaan dimatikan, program pemprosesan acara yang dibentuk akan dicetuskan:
Prosedur pemprosesan kejadian ini memastikan bahawa aplikasi itu keluar hanya apabila tiada tingkap lain. Apabila tetingkap di luar tetingkap permulaan ditutup, program pemprosesan acara akan mengemas kini pendengar acara untuk memantau penutupan tetingkap terbuka seterusnya.
<code class="language-c#"> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var main = new Form1(); main.FormClosed += new FormClosedEventHandler(FormClosed); main.Show(); Application.Run(); }</code>Dengan melaksanakan penyelesaian ini, kini anda boleh menutup tetingkap permulaan tanpa menamatkan aplikasi, yang membolehkan Windows lain menyimpan status aktiviti dan membenarkan aplikasi dijalankan seperti yang diharapkan.
Atas ialah kandungan terperinci Bagaimana untuk mengelakkan penutupan permohonan semasa menutup borang permulaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!