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
Mdi forma i instance
Zaključano
Zakačeno
Potraži singleton pattern
Potpis
77 77 77 2E 65 73 6E 69 70 73 2E 63 6F 6D
Evo jednog resenja, i primera coda. Napravi sledece metode (recimo :))
Metoda za aktivaciju forme ukoliko vec postoji
Metoda za kreiranje nove forme
Poziv u na neki dogadjaj (stavka menija, dugme....)
Nadam se da ti je jasno.
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;
}
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();
}
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());
if (!this.AktivirajChildFormu(typeof(tvojTipFormeKojuZelisDaInstanciras)
this.KreirajChildFormu(new tvojTipFormeKojuZelisDaInstanciras());
Nadam se da ti je jasno.
Hvala to je to !!!