Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Come chiudo una Form in VB.NET ?
martedì 08 marzo 2005 - 00.31
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
max1850
Profilo
| Junior Member
142
messaggi | Data Invio:
mar 8 mar 2005 - 00:31
Salve!
Ho una domanda da farvi...
Allora, io ho 2 form, Form1 e Form2.
la Form1 è la principale, e tramite un bottone apro la Form2 (in maniera non modale) così:
Dim finestra2 as new Form2
finestra2.Show()
Ora, come chiudo la Form2 sempre da un pulsante situato nella Form1 ?
Grazie.
Max!
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
mar 8 mar 2005 - 11:02
Ciao,
puoi fare in questo modo: dichiarati un arraylist (pippo) e fai così
private FRM2 as Form2
FRM2 = new form2
if pippo.contains(FRM2) = false
pippo.add(FRM2)
end if
FRM2.show
quando devi chiuderla....
FRM2 = directcast(pippo.item(index),form1)
FRM2.close
Il valore 'index' rappresenta l'indice che ha la form all'interno dell'array.
Cristian
max1850
Profilo
| Junior Member
142
messaggi | Data Invio:
mar 8 mar 2005 - 11:27
Ciao!
Scusa ma il "Close()" del caro vecchio VB6 non esiste più?
Max
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
mar 8 mar 2005 - 13:15
si, il comando Close esiste lo stesso solo che in VB6 dovevi passargli anche il tipo di oggetto da chiudere e il nome, in VBNEt il close funziona solo per l'oggetto su cui gli esegui il "Close" sopra
max1850
Profilo
| Junior Member
142
messaggi | Data Invio:
mar 8 mar 2005 - 13:48
E quindi come la chiudo la form?
Quali sono i comandi giusti?
Ciao
Max
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
mar 8 mar 2005 - 16:15
ciao,
puoi chiuderla tramite il codice che ti ho postato qualche msg fa. In pseudo codice succede questo:
quando apri la form2, inserisci la stessa in un arrayList
Se apri più occorrenze della stessa Form2, prima di passarla all'arraylist, inserisci un Id alla proprietà Name della Form2
es Form2.name = ID
ID = ID +1
ArrayList.add(Form2)
quando devi chiudere la form2 scorri l'array alla ricerca della Form2 che ha l'indice che a te serve e la chiudi:
es
Dim OBJ as new object
Dim i as integer
Private sub ChiudiForm(Byval CurID as integer)
for i arraylist.count-1 to 0 step -1
if ctype(arraylist.item(i), Form2).name.equals(CurID.tostring)=true
obj = directcast(arraylist.item(i), Form2)
obj.close
arraylist.remove(i)
exit sub
end if
next
end sub
Con il codice che ti ho postato puoi realizzare anche il focus dinamico su N form aperte in modo non modale.Mi spiego meglio: puoi mettere in primo piano una form a scelta tra N form contenporaneamente aperte senza che ne apri un'altra, cosa che genererebbe un duplicato.
Spero di essere stato di aiuto
ciao Cri
max1850
Profilo
| Junior Member
142
messaggi | Data Invio:
mar 8 mar 2005 - 18:26
OK! Ora devo mettere insieme il tutto e vedrò di farlo!
Molte grazie dell'aiuto! ;)
Ciao
Max!
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !