[ VladaOrt @ 14.12.2006. 11:39 ] @
kada ucitam child formu preko menija,ona se naravno ucita,a kada je tako ucitanu ponovo "pozovem", dobijam duplikat vec ucitane child forme.Nekada sam programirao u VB.net-u i znao sam resenje,ali je to bilo odavno.U Delphiju je to lepo reseno,ali sada idem preko C# i...eto problema.Molim pomoc.Hvala
[ bunker @ 14.12.2006. 11:50 ] @
Mozda nisam bas najbolje skapirao sta hocces da postignes, ali znam na sta mislis.
Da li hocces da se forma kreira od pocetka ili ne?!

Ako je ne, moze ovako:
Code:


private Form m_Form; 

private void ShowForm(){
 if (m_Form == null) {
   m_Form = new Form();
 } 
 if (! m_Form.Visible)
 {
  m_Form.Show();
 } 
 else 
 {
   m_Form.BringToFront();
 }
}



Trebalo bi da ovo resi tvoje probleme. A ako je odgovor da, moracces da pozoves m_Form.Dispose() prilikom zatvaranja, i da je postavis m_Form = null, da bi je prilikom sledecceg poziva ponovo inicijalizovao.
Uh.
[ VladaOrt @ 14.12.2006. 12:48 ] @
Da to je to,malo sam i ekperimentisao.Ali kako da postavim instancu na null?
Hvala
[ bunker @ 14.12.2006. 13:59 ] @
m._Form.Dispose();
m_Form = null;

a ako mislis kada, uhvati event m_Form.Closing. Valjda, nesto mi pada napamet da cess zabagovati, ali probaj
[ VladaOrt @ 14.12.2006. 14:11 ] @
Ako sam te dobro razumeo,FormClosing metod koristim u formi na koju je instancirala promenjiva m_Form.Naravno,tu sam dodao i Dispose metod,jer se tako oslobadja memorija,a i kada postavim m_Form=null u instanciranoj formi,oslobadja se heap.Problem je u tome sto referentnu promenjivu m_Form ne mogu da postavim na null u formi koja se zatvara.Sto bi se reklo prosto compiler je zbog nemogucnosti javnog deklarisanja ne vidi.To mi je problem.A ako postavim m_form==null u MDI formi u funkciji u kojoj pravi instancu,to radi kako treba,ali ako se treci put klikne na isti taster koji poziva formu,ona se pojabljuje pored vec postojece child forme.