Tôi đang làm việc trên ứng dụng C# máy tính để bàn, Trong MDI mẫu cùng một cửa sổ con được mở khi bạn bấm vào menu, trong khi trường hợp đầu tiên của cửa sổ đó có mặt. Làm cách nào để ngăn chặn nhiều trường hợp cửa sổ con này trong biểu mẫu MDI?Ngăn chặn cùng một cửa sổ con nhiều lần trong biểu mẫu MDI
5
A
Trả lời
4
Bạn có thể kiểm tra xem các hình thức đã được mở đã:
Form instance = null;
// Looking for MyForm among all opened forms
foreach (Form form in Application.OpenForms)
if (form is MyForm) {
instance = form;
break;
}
if (Object.ReferenceEquals(null, instance)) {
// No opened form, lets create it and show up:
instance = new MyForm();
instance.Show();
...
}
else {
// MyForm has been already opened
// Lets bring it to front, focus, restore it sizes (if minimized)
if (instance.WindowState == FormWindowState.Minimized)
instance.WindowState = FormWindowState.Normal;
instance.BringToFront();
if (instance.CanFocus)
instance.Focus();
...
}
0
Có lẽ điều này có thể giúp bạn:
public static bool formOpened = false; // it is global boolean
Form2 instance;
Khi bạn mở hình của bạn:
if(formOpened == false)
{
instance = new Form2();
instance.Show();
formOpened = true;
}
else
{
instance.Focus();
}
Một hơn là sau khi Form2 của bạn bị đóng, bạn nên đặt giá trị của formOpened thành false;
Các vấn đề liên quan
- 1. Ngăn chặn nhiều mẫu biểu mẫu
- 2. Cách ngăn chặn nhiều cửa sổ trình duyệt chia sẻ cùng một phiên trong asp.net
- 3. Sự cố với biểu tượng tạo biểu mẫu con MDI tối đa mới trong .NET
- 4. Mở biểu mẫu con từ một biểu mẫu con khác và đặt MDI thành biểu mẫu gốc - cách thực hiện?
- 5. Cách ngăn chặn gửi biểu mẫu
- 6. Làm cách nào để ngăn chặn nhiều lần chèn khi gửi biểu mẫu bằng PHP?
- 7. Ngăn chặn mở Hoạt động nhiều lần
- 8. Cửa sổ con Silverlight trong mẫu MVVM
- 9. Ngăn ngừa mẫu MDI trùng lặp cho trẻ em
- 10. Ngăn chặn nhấp chuột qua Biểu mẫu Windows trong suốt
- 11. Cách ngăn nhiều lần gửi biểu mẫu trên nhiều lần nhấp trong PHP
- 12. Tại sao tôi có thêm nút đóng trên cửa sổ con mdi?
- 13. mở biểu mẫu cửa sổ từ một biểu mẫu khác theo chương trình
- 14. Nhiều biểu mẫu hoặc nhiều lần gửi trong một trang?
- 15. Ngăn chặn gửi biểu mẫu với Dojo
- 16. Ngăn chặn thay đổi tiêu điểm cửa sổ
- 17. Emacs: Ngăn chặn gud & pdb kiểm soát các cửa sổ
- 18. Làm cách nào để ngăn chặn di chuyển con lăn chuột cửa sổ ...?
- 19. Gửi biểu mẫu jQuery, ngăn không cho gửi nhiều lần sau lần gửi đầu tiên
- 20. cửa sổ ExtJS đóng cửa sau khi biểu mẫu gửi
- 21. Ngăn chặn con trỏ nhấp nháy trong hộp văn bản
- 22. Ngăn chặn location.hash trong một iframe từ di chuyển cửa sổ cha mẹ trong Chrome
- 23. Nhiều Biểu mẫu trong cùng một trang ASP.net MVC
- 24. Cách tạo Cửa sổ Mẫu trong WPF?
- 25. System.Windows.Forms.WebBrowser mở liên kết trong cùng cửa sổ hoặc cửa sổ mới với cùng một phiên
- 26. Delphi MDI - xử lý mở/đóng/kích hoạt biểu mẫu con
- 27. Ngăn chặn để xử lý các đối tượng nhiều lần
- 28. "Không thể tạo biểu mẫu. Không có biểu mẫu MDI hiện đang hoạt động" lỗi
- 29. VIM: Tìm trong nhiều chia cửa sổ
- 30. Tại sao đóng cửa sổ con cuối cùng giảm thiểu cửa sổ chính của nó?
cảm ơn bạn Dmitry, – n8coder