Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk mengelakkan penutupan permohonan semasa menutup borang permulaan?

Bagaimana untuk mengelakkan penutupan permohonan semasa menutup borang permulaan?

Barbara Streisand
Lepaskan: 2025-01-29 10:21:09
asal
641 orang telah melayarinya

How to Prevent Application Closure When Closing the Startup Form?

Bagaimana untuk mencegah permohonan daripada menutup tetingkap pelancaran?

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: Walau bagaimanapun, apabila Form1 ditutup, ini akan menyebabkan Form2 ditutup. Untuk mengatasi masalah ini, anda boleh cuba menyembunyikan Form1 dan bukannya menutupnya:

Walaupun ini dapat menghalang Form2 daripada ditutup, ia akan menghasilkan kelemahan baru: Apabila Form2 dimatikan, permohonan itu tidak akan keluar.
Form2 frm = new Form2();
frm.Show();
this.Close();
Salin selepas log masuk

<决> penyelesaian

Form2 frm = new Form2();
frm.Show();
this.Hide();
Salin selepas log masuk

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.

    [STAThread]
    static void Main() {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        var main = new Form1();
        main.FormClosed += new FormClosedEventHandler(FormClosed);
        main.Show();
        Application.Run();
    }
Salin selepas log masuk
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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan