Verhindern, dass doppelte MDI Kinder Formen
Gibt es eine Möglichkeit zu verhindern, dass die öffnung eine bestimmte form innerhalb eines MDI-Behälters, wenn das Formular bereits geöffnet ist?
InformationsquelleAutor user | 2009-10-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie interate über die OpenForms-Auflistung, um zu überprüfen, ob es bereits eine form der gegebenen Art:
InformationsquelleAutor Fredrik Mörk
AFAIK gibt es keinen standard-Weg. Du musst es selbst implementieren. Ich würde es so machen:
Wenn die thread-Sicherheit ist von Bedeutung, fügen Sie die entsprechenden
lock
s.Sie könnte Hinzugefügt haben, dass dies ist eine Implementierung des singleton-Musters. Ich bevorzuge Fredrik Mörk die Lösung, Sie nicht gegen SOC
InformationsquelleAutor Vilx-
Sehen http://gurucoders.blogspot.com/2009/08/avoid-duplicate-child-form-in-mdi.html
InformationsquelleAutor logicnp
diesem code arbeiten
InformationsquelleAutor user3163424
Obwohl dieser Beitrag schon sehr alt ist, dachte ich, das wird fügen Sie eine Hilfe.
Behandeln müssen, wenn form Minimiert auch. Hier ist das komplette Beispiel:
InformationsquelleAutor Avijit
Dieser code funktioniert für mich in vb.net
Kann eine Methode implementiert werden, die Verwendung von Generika (unterhalb von C# und VB.net Optionen), was nützlich sein kann, wenn verschiedene MDI-Forms geöffnet werden müssen.
C#
Verwenden Sie es wie folgt (Angabe
false
immultipleInstances
zu vermeiden)VB.NET
Verwenden Sie es wie folgt (Angabe
False
fürbMultipleInstances
zu vermeiden)InformationsquelleAutor Dr Yunke
Dieser code funktioniert für mich in C#
InformationsquelleAutor mamal