Tôi có một WinForm mà tôi tạo để hiển thị lời nhắc bằng nút. Đây là một khung nhìn WinForm tùy chỉnh, vì hộp thoại hộp thông điệp không đủ.Phát hiện khi biểu mẫu đã bị đóng C#
Tôi bắt đầu và chạy một nhân viên nền. Tôi cũng muốn thoát khỏi vòng lặp while (aBackgroundWorker.IsBusy
) nếu nút trên myForm được nhấp vào.
//MyProgram.cs
using(CustomForm myForm = new CustomForm())
{
myForm.Show(theFormOwner);
myForm.Refresh();
while(aBackgroundWorker.IsBusy)
{
Thread.Sleep(1);
Application.DoEvents();
}
}
Ngay bây giờ, trong CustomForm
sự kiện Button_clicked
, tôi có
//CustomForm.cs
private void theButton_Click(object sender, EventArgs e)
{
this.Close();
}
Tôi có cần phải thêm mã hơn để lớp CustomForm, hoặc vị trí nơi tôi tuyên bố và khởi tạo các hình thức theo thứ tự để có thể phát hiện một đóng cửa?
hình thức gì/lớp nào bạn muốn thông báo của gần cửa sổ? – Decker97
Viết mã này không có ý nghĩa. Có lẽ có cái gì đó * sau * trong khi vòng lặp này. Di chuyển mã đó đến trình xử lý sự kiện RunWorkerCompleted cho BGW đó. –