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
Problem za problemom
Zaključano
Zakačeno
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:
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.
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();
}
}
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.
Potpis
Nije važno stići prvi. Važno je prvo da stigneš.
Da to je to,malo sam i ekperimentisao.Ali kako da postavim instancu na null?
Hvala
Hvala
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
m_Form = null;
a ako mislis kada, uhvati event m_Form.Closing. Valjda, nesto mi pada napamet da cess zabagovati, ali probaj
Potpis
Nije važno stići prvi. Važno je prvo da stigneš.
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.