Tunjukkan borang utama selepas berjaya log masuk tanpa keluar dari aplikasi
Dalam aplikasi Windows Forms, menutup borang utama biasanya menamatkan program. Walau bagaimanapun, dalam beberapa kes, anda mungkin perlu menutup borang log masuk dan melancarkan borang utama tanpa menamatkan aplikasi. Artikel ini meneroka masalah ini dan menyediakan penyelesaian.
Soalan:
Seorang pengguna mencipta projek Windows Forms yang mengandungi dua borang: borang log masuk dan borang utama. Selepas log masuk berjaya, matlamatnya adalah untuk menutup borang log masuk dan memaparkan borang utama. Walau bagaimanapun, menutup borang log masuk menggunakan kaedah Close() tidak membuka borang utama dan aplikasi ditamatkan.
<code class="language-c#">public void ShowMain() { if (auth()) { var main = new Main(); main.Show(); this.Close(); } else { MessageBox.Show("Invalid login details."); } }</code>
Penyelesaian:
Masalahnya ialah menutup borang log masuk juga akan menutup aplikasi. Penyelesaiannya melibatkan memindahkan logik log masuk daripada borang log masuk ke fail Program.cs. Kemudian, lancarkan borang utama selepas log masuk berjaya dengan menggunakan Application.Run().
<code class="language-c#">static void Main() { LoginForm fLogin = new LoginForm(); if (fLogin.ShowDialog() == DialogResult.OK) { Application.Run(new MainForm()); } else { Application.Exit(); } }</code>
Dalam Program.cs, cipta dan paparkan borang log masuk modal (fLogin) sebagai kotak dialog. Jika pengguna memberikan bukti kelayakan yang sah, ShowDialog() akan mengembalikan DialogResult.OK, mencetuskan penciptaan contoh MainForm baharu melalui Application.Run(). Jika tidak, aplikasi akan keluar (Application.Exit()).
Atas ialah kandungan terperinci Bagaimana untuk Menunjukkan Borang Utama Selepas Berjaya Log Masuk dalam Aplikasi Windows Forms Tanpa Menutup Apl?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!