[ ceso @ 09.05.2005. 00:27 ] @
Kako mogu ponovno otvoriti Formu2 ako sam je zatvorijo klikom na x a da ne zatvaram cijelu aplikaciju.
[ kul-rom @ 09.05.2005. 03:27 ] @
A kako si je prvi puta otvorio?
pozdrav
[ mdragan76 @ 09.05.2005. 23:10 ] @
hmm, da stvarno kako si je otvorio prvi put
nisam najbolje razumeo tvoje pitanje ali evo da
probam da dam neki "intuitivni" odgovor. pretpostavimo
da si negde u tvojoj aplikaciji (npr. pritiskom na neki
button), otvorio form2 recimo na sledeci nacin:
Code:

Form2 frm=new Form2();
frm.Show();

kada je zatvoris sa "x" prozor nestaje, ali sve dok ti
"tok programa" ne izadje iz scope-a sama klasa se
ne brise iz memorije - dakle ako je to slucaj, jednostavno
ces opet pozvati frm.Show() i - voila
opet, ni meni tvoje pitanje nije bilo najjasnije, pa ako nisam
"pogodio u metu" slobodno pitaj
poz
[ dusans @ 10.05.2005. 09:38 ] @
Da, ali kad jednom instanciraš formu i prikažeš je, a posle toga je zatvoriš, ne možeš ponovo da je prikažeš sa Show() jer je forma Dispose-ovana. Moraš ponovo instancirati formu.
[ mdragan76 @ 10.05.2005. 16:18 ] @
Hmm, stvarno je tako! Svakog dana nesto novo naucis :)
A sta mislis da proba da koristi property From.Visible? Recimo ovako:
Code:

Form2 frm=new Form2();
.
.
.
this.frm.Visible=true; // ovo se nalazi u handleru za OnButton

Jedino sto treba da se uradi je da se presretne (override-uje)
onaj klik na "x" gde bi trebalo samo da se pozove Form.Hide().
Kombinacija Visible=true i Hide() provereno radi, ali me interesuje
nesto drugo - da li se sam pritisak na "x" poziva Dispose() forme
ili je u pitanju neki drugi mehanizam?
[ ceso @ 11.05.2005. 01:01 ] @
Prvo da se ispričam sto nisam jučer pojasnijo vaše dileme.
Dakle Formu2 sam otvorijo na button :
Form2 As New Form2
Form2.Show
Što se tiče kombinacije Visible=true i Hide() to radi ali samo kada se zatvara preko Button ali kad se to stavi pod:
Protected Overrides Sub OnClosed(ByVal e As System.EventArgs). Onda mi se isto javlja greška:
Cannot access a disposed object named "Form2".
Object name:"Form2"
[ eon @ 11.05.2005. 07:11 ] @
Citat:
Da, ali kad jednom instanciraš formu i prikažeš je, a posle toga je zatvoriš, ne možeš ponovo da je prikažeš sa Show() jer je forma Dispose-ovana. Moraš ponovo instancirati formu.


Mozes deklarisati formu2 kao privatnog clana forme1. Zatim je pozivati kao:
Code:

if (frm == null)
   frm = new Form2();
frm.ShowDialog();


[ ceso @ 11.05.2005. 23:39 ] @
Samo da vam se zahvalim i da kažem da sam rešio problem zahvaljujući vama.
HVALA...
[ dezelin32 @ 12.05.2005. 11:47 ] @
Citat:
Code:

if (frm == null)
frm = new Form2();
frm.ShowDialog();


A moze i tako... :)

cheers