[ gilespy @ 07.03.2006. 23:16 ] @
| Imam MDI aplikaciju i 5 podformi. U glavnom meniju kontejner forme imam
stavku Close, koja treba zatvoriti aktivnu podformu.
Ako nema otvorenih podformi, klikom na Close puca aplikacija.
Hteo bih da stavka Close bude disabled sve dok se ne otvori neka podforma.
Ima li neko ideju?
Hvala
P.S. Necu da koristim resenje koje hvata Exception u slucaju da nema
aktivnih podformi. |
[ Sandra_G @ 08.03.2006. 09:00 ] @
Koji ti je kod za zatvaranje? Pre nego sto pocnes da gasis forme, trebalo bi da ispitas da li uopste postoje aktivne forme.... Ako postoje, onda close, ako ne postoje, samo return iz dogadjaja. Nesto tako...
[ gilespy @ 08.03.2006. 09:22 ] @
To i jeste pitanje. Kako da proverim imam li aktivnih formi?
Pokusavao sam s ActiveMdiChild, ali izgleda da nisam nasao pravu
kombinaciju :-) .
Ako je jednostavnije, pretpostavimo da imam samo jednu child formu.
Kako izgleda kod za proveru?
[ ntadic @ 08.03.2006. 11:19 ] @
if(this.ActiveMdiChild != null)
this.ActiveMdiChild.Close();
To je cijela magija.
[ gilespy @ 08.03.2006. 11:39 ] @
Probao sam to da ukomponujem sa sledecim kodom, ali ne radi. Gde gresim
(hteo bih da u zavisnosti od postojanja aktivne Child forme menuItem bude
Enabled ili Disabled)?
U konstruktoru
this.menuItemClose.Enabled = false;
provera();
Van konstruktora
private void provera(){
if(this.ActiveMdiChild != null)
this.menuItemClose.Enable = true;
}
private void menuItemClose_Click(object sender, System.EventArgs e){
this.ActiveMdiChild.Close();
}
[ aleksandarpopov @ 08.03.2006. 12:34 ] @
Kada pravis instancu mdi forme i kada je prikazujes, tj. kada si je uspesno kreirao i prikazao - omoguci stavku menija za close, a kada si ubio child formu za close, ako nema vise child formi, onemuguci meni item...
poz
[ gilespy @ 09.03.2006. 15:22 ] @
Uradio sam sledece, ali ne radi:
U parent formi
this.menuItemZatvori.Enabled = false;
public void provera(){
if (this.ActiveMdiChild != null)
this.menuItemZatvori.Enabled = true;
else
this.menuItemZatvori.Enabled = false;
}
private void menuItemClose_Click(object sender, System.EventArgs e){
this.ActiveMdiChild.Close();
provera();
}
U child formi u konstruktoru
Form1.form1Container frm = new Form1.form1Container();
frm.provera;
Jedino je problem sto ovo ne radi (menuItem je uvek nevidljiv).
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.