Làm thế nào để đóng form sau khi bị ẩn trong C#?

Chào mn, e mới học C# đang thử làm 1 ví dụ, e tạo 1 project nhỏ có 1 form đăng nhập, khi đăng nhập xong sẽ gọi đến form hệ thống, vấn đề e đang gặp ở đây là khi đăng nhập thành công e sẽ cho ẩn form login để show form hệ thống, dẫn đến việc khi đóng form hệ thống chương trình vẫn chạy. Ai đã từng gặp trường hợp này cho e hướng giải quyết với ạ

Có phải form đăng nhập chính là form khởi chạy đầu tiên (Startup form)? Nó chính là form “trùm” đấy. Chừng bạn đóng nó thì chương trình sẽ đóng, còn chỉ để nó ẩn thì chắc chỉ có thể dùng “tuyệt chiêu” cmd taskkill hoặc Task Manager thôi.
Bạn chỉ cần gọi đến phương thức Close() thôi mà. Nó ẩn trên giao diện chứ có “ẩn” trong mã nguồn đâu.

3 Likes

Đây là code của mình , với Form2 là form khởi động và Form1 sẽ hiện ra khi nhấn vào Button Continue ở Form2
Làm đúng như bên dưới thì khi bạn đóng Form1 thì Form2 đang ẩn cũng sẽ bị tắt, nếu không thì quá trình debug sẽ bị treo, bạn phải stop bằng tay

private void btncontinue_Click(object sender, EventArgs e)
        {
            this.Hide();
            Form1 a = new Form1();
            a.Closed += (s, args) => this.Close();
            a.Show();           
        }

Thì bắt sự kiện Form1 đóng, bạn gọi đến Form2.Close().

4 Likes

Viết trong hàm main. (Nằm trong file program.cs)
Mới đầu sẽ showdialog login.
Login xong sẽ close luôn form login và tiếp tục showdialog cái form 2.

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?