Tôi muốn tránh biểu mẫu của con tôi xuất hiện nhiều lần khi người dùng cố gắng mở biểu mẫu con đã được mở trong MDIParent. Một cách để tránh điều này là vô hiệu hóa Bộ điều khiển (trong trường hợp BUTTON) nhưng tôi đã đưa ra một phím tắt (Ctrl + L) cho chức năng này. Vì vậy, nếu người dùng nhập Ctrl + L, cùng một biểu mẫu con mở ra và tôi có thể thấy hai biểu mẫu con trong MDI.Cách tránh nhiều biểu mẫu Con được hiển thị trong MDIParent C# Win Forms
private void leadsToolStripMenuItem_Click(object sender, EventArgs e)
{
frmWebLeads formWeblead = new frmWebLeads();
formWeblead.MdiParent = this;
formWeblead.WindowState = System.Windows.Forms.FormWindowState.Maximized;
formWeblead.Show();
}
Tôi muốn tránh điều này. Tôi có thể làm cái này như thế nào?
Trong hình ảnh bạn có thể thấy rằng một đứa trẻ Tên hình thức online Dẫn được mở ra gấp đôi so với người dùng mở lần đầu tiên sử dụng Menu (tiềm năng) và lần thứ hai bằng phím tắt. Tôi không muốn điều này xảy ra. Nếu biểu mẫu đã được mở, bạn nên tránh mở một biểu mẫu khác ... Làm thế nào để thực hiện việc này?
@ Mike Caron cảm ơn Mã của bạn. Phần cuối cùng bạn để lại cho tôi tạo ra một số nhầm lẫn, có nghi ngờ rằng formWeblead i n khai báo MDIParent và tôi nghĩ rằng để thiết lập formWeblead = null bằng cách sử dụng frmWebLoad để lại Event sử dụng Child để truy cập cha mẹ, nó có ổn không !! ??? hoặc là có bất kỳ phương pháp tốt nhất có sẵn – panindra
Tôi không nghĩ rằng tôi sẽ sử dụng sự kiện Rời khỏi, vì đó là một điều tập trung. Thay vào đó, hãy sử dụng sự kiện Đóng của biểu mẫu con, điều này sẽ kích hoạt khi bạn đóng nó. –
@Mike Điều này để lại một số TODO liên quan đến mục menu gọi sự kiện nhấp chuột; Tôi muốn vô hiệu hóa mục menu đã tạo biểu mẫu để tránh nhầm lẫn với người dùng, ví dụ: "Tôi đang nhấp vào 'mở' và không có gì xảy ra". – gangelo