PDA

View Full Version : Gestione dei form su VB.NET


bigjack
28-11-2003, 11:25
Ultimamente sto provando a migrare da VB6 a VB.NET ma sto incontrando molte difficoltà anche sulle cose + semplici che prima riuscivo a fare senza problemi.:cry:
X esempio non riesco ad aprire e chiudere altri form oltre a quello principale.
I comandi formX.show, formX.hide e unload formX da cosa sono stati sostituiti?:confused:

bigjack
01-12-2003, 11:32
Help! Nessuno ha qualche idea?:cry:

ball12
01-12-2003, 19:22
Ciao. Posso aiutarti un po' io.

Tu vuoi aprire un form da un altro form, al click su di un pulsante?
Se è così devi così devi creare una classe in questo modo:

Devi dichiarare una variabile di tipo form
Dim variabile as New FormDaAprire
dove form da aprire, è il nome del form che vuoi aprire e che hai creato.
Poi utilizzi la proprietà show del form che vuoi aprire
variabile.show()

Ecco qua....se hai bisogno son qua.
Ciao

bigjack
02-12-2003, 10:29
Grazie 1000 x l'help!! :)
Con VB6 aprivo una form principale, da quella ne aprivo un'altra e chiudevo la principale con unload formX.
Con VB.NET non riesco a fare la stessa cosa, se chiudo la form principale si chiude l'intero programma.
Esiste un modo?

Kralizek
02-12-2003, 11:46
forse perchè la form principale è anche l'oggetto da cui parte il programma...

ball12
02-12-2003, 12:17
Se usi form1.hide , non funziona?

bigjack
02-12-2003, 14:28
form1.hide funziona ma mi rimane caricata in memoria e occupa delle risorse. ( L'ho verificato dal task manager )

X Kralizek
forse perchè la form principale è anche l'oggetto da cui parte il programma...

Si ma con VB6 riuscivo ad aprirne un'altra, passare sull'altra e chiudere quella precedente.
La prima form è quella di login, una volta inseriti ID e password vorrei passare nella maschera principale del programma e chiudere la form di login ma con VB.NET non riesco, mi si chiude tuuto il progetto.

ball12
02-12-2003, 15:39
Spetta prova a dire alla form (es form2) che vuoi chiudere che è active:
form2.activeform()
poi provi a chiuderla
me.close() o me.dispose()

prova e fammi sapere
Ciao

bigjack
02-12-2003, 16:55
Grazie 1000!
Provo e poi ti faccio sapere!:)

ball12
03-12-2003, 16:24
Per scaricarla prova me.dispose()

Funge quello di ieri?

bigjack
09-12-2003, 17:50
Scusa il ritardo ma non mi funzionava il PC.:mad:
form1.activeform() non lo accetta. Funzionava solo in VB6

ball12
09-12-2003, 18:17
Activeform è anche descritto nel framework ed è una proprietà dei form.

È possibile utilizzare questo metodo per ottenere un riferimento al form attivo per l'esecuzione di azioni sul form o sui relativi controlli. by .NET Framework


:)

bigjack
10-12-2003, 13:09
Avevo letto anch'io su di un libro che si poteva utilizzare ma quando ho provato non mi funziona. Forse uso la sintassi sbagliata. Te utilizzando questo comando riesci ed aprire una nuova form, renderla attiva e chiudere la precedente (quella principale)?
Mi provi a dare il codice che hai usato?

ball12
10-12-2003, 18:17
Sinceramente non l'ho mai fatto.....
Vedo se riesco!