Einzelnen Beitrag anzeigen

Robert_G
(Gast)

n/a Beiträge
 
#9

Re: [C#] Zweite Form nur einmal aufrufen

  Alt 27. Sep 2004, 17:24
Einfach das mit in deinen Form descendant einbauen:
Code:
class AddingUnit :Form
{
   private static AddingUnit fInstance;

   public static AddingUnit CreateInstance()
   {
      if (fInstance == null)
        fInstance = new AddingUnit();

      return fInstance;
   }
   ...
}
Kiek dir mal genau an was das macht.
Damit ist das:
Code:
   aForm = AddingUnit.CreateInstance();
... exakt das gleiche wie:
Code:
   aForm = AddingUnit.CreateInstance();
   aForm = AddingUnit.CreateInstance();
   aForm = AddingUnit.CreateInstance();
   aForm = AddingUnit.CreateInstance();
   aForm = AddingUnit.CreateInstance();
   aForm = AddingUnit.CreateInstance();
   aForm = AddingUnit.CreateInstance();
Wenn du dieses abgeschwächte Singleton in deine Form-ableitung packst, kannst du immer nur eine Instanz bekommen, egal wie oft du sie aufrufst.
also statt:
Code:
   aForm = new AddingUnit();
janz einfach:
Code:
   aForm = AddingUnit.CreateInstance();
Edit: Kann man sich eigentlich wirklich sooft vertippen?
  Mit Zitat antworten Zitat