[ Neznalica_sa_ugla @ 21.08.2009. 12:27 ] @
U programu koristim MDi formu , ona se pokreće kao prvan u programu , u njoj je izbornok koji poziva druge forme.Sve ok . A onda se netko sjetio da vecinu ovi pozvani formi smije da se napravi samo jedan poziv ( jedna istanca) .Pitanje .:Kako onemoguciti pozivanje iste forme više puta .HVALA
[ Pharos @ 21.08.2009. 12:59 ] @
Potraži singleton pattern
[ toocold @ 21.08.2009. 14:30 ] @
Evo jednog resenja, i primera coda. Napravi sledece metode (recimo :))


Metoda za aktivaciju forme ukoliko vec postoji
Code:

public bool AktivirajChildFormu(System.Type tp)
        {
            Form activeForm = null;
            foreach (Form form in this.MdiChildren)
            {
                if (form.GetType() == tp)
                {
                    activeForm = form;
                }
            }
            if (activeForm != null)
            {
                activeForm.Activate();
                return true;
            }
            return false;
        }


Metoda za kreiranje nove forme
Code:

             public void KreirajChildFormu(Form newForm)
        {
            newForm.MdiParent = this;
            newForm.Show();
        }



Poziv u na neki dogadjaj (stavka menija, dugme....)
Code:

                      if (!this.AktivirajChildFormu(typeof(tvojTipFormeKojuZelisDaInstanciras)
                this.KreirajChildFormu(new tvojTipFormeKojuZelisDaInstanciras());



Nadam se da ti je jasno.
[ Neznalica_sa_ugla @ 23.08.2009. 17:32 ] @
Hvala to je to !!!