Ich arbeite an C# Desktop-Anwendung, in MDI-Form das gleiche untergeordnete Fenster geöffnet werden, wenn Sie auf Menü klicken, während die erste Instanz dieses Fensters vorhanden ist. Wie kann ich diese mehreren Instanzen von untergeordneten Fenstern in MDI-Form verhindern?Verhindern dasselbe untergeordnete Fenster mehrmals in MDI-Formular
5
A
Antwort
4
Sie können überprüfen, ob das Formular bereits geöffnet wurde:
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
Vielleicht können diese Ihnen helfen:
public static bool formOpened = false; // it is global boolean
Form2 instance;
Wenn Sie Ihr Formular öffnen:
if(formOpened == false)
{
instance = new Form2();
instance.Show();
formOpened = true;
}
else
{
instance.Focus();
}
One mehr Nachdem Ihr Form2 geschlossen wurde, sollten Sie den Wert von formOpened auf false festlegen.
Verwandte Themen
- 1. Factory Girl: Benutze dasselbe Objekt mehrmals
- 2. Lambda dasselbe SNS-Ereignis mehrmals verarbeiten?
- 3. verhindern, dass die Unterfenster mehrmals geöffnet werden
- 4. Verhindern gleiche Ereignishandler Zuordnung mehrmals
- 5. Verhindern doppelte MDI untergeordnete Formulare
- 6. Wie man dasselbe Formular mehrmals in Symfony2 rendert?
- 7. WM_EX_TRANSPARENT nicht neu untergeordnete Fenster
- 8. Usability: untergeordnete Fenster in Silverlight LOB-Anwendungen
- 9. Verhindern Fenster Fokuswechsel
- 10. php verhindern Eltern Zugriff auf untergeordnete Eigenschaften
- 11. Rückruffunktion, wenn das untergeordnete Fenster geschlossen ist
- 12. Verhindern, dass Benutzer dasselbe Kennwort in Symfony verwenden (bcrypt)
- 13. MFC Größenänderungsdialog und untergeordnete Fenster malen Problem
- 14. Watir Webdriver So schließen Sie untergeordnete Fenster
- 15. Click-Ereignis in jQuery verhindern, das mehrmals auslöst
- 16. So verhindern Sie, dass eine Aktivität mehrmals initialisiert wird
- 17. Wie kann ich verhindern, dass meine App mehrmals gestartet wird?
- 18. Verhindern, dass Python-Fenster fokussiert werden
- 19. Verhindern Pop-Over-Fenster laden als _blank
- 20. wie verhindern schließen Fenster für Kendo-Scheduler
- 21. verhindern Fenster aus Öffnung (fensterlos Anwendung)
- 22. Verhindern, dass XML-Namespaces an untergeordnete Elemente übergeben werden
- 23. Verhindern, dass Bootbox das Popup-Fenster schließt
- 24. Clientseitiges Ereignis, wenn das untergeordnete Fenster den übergeordneten Speicherort ändert?
- 25. SVG: Kann ich auf dasselbe Element/dieselbe Gruppe/denselben Pfad verweisen, anstatt es mehrmals zu kopieren?
- 26. Wenn ich eine SQL-Anweisung mehrmals mit Zeilenlimit ausführen, bekomme ich jedes Mal dasselbe Ergebnis?
- 27. verhindern Popup von einem neuen Fenster in Ie6 öffnen
- 28. Verhindern Splitting Fenster bei der Verwendung von Python in Vim
- 29. Offenes Download-Fenster in Chrome mit Barcode-Leser verhindern
- 30. Wie kann ich das untergeordnete Fenster schließen, wenn das übergeordnete Fenster geschlossen ist?
danke Dmitry, – n8coder