Aprire secondo form a scelta obbligatoria

giovedì 25 ottobre 2007 - 08.24

Djdee86 Profilo | Newbie

Buon Giorno,
Sono da poco passato dal vb6 al c# e sono bloccato su un piccolo problema....

dovrei fare in c# l'equivalente di:

Unload Me
MDIFrmprinc.Show

in vb6 cioè io ho in esecuzione il form caricato all'inizio del progetto e dovrei scaricarlo per caricarne un altro...
Diego Degli Esposti

alextyx Profilo | Expert

>Buon Giorno,
>Sono da poco passato dal vb6 al c# e sono bloccato su un piccolo
>problema....
>
>dovrei fare in c# l'equivalente di:
>
> Unload Me
> MDIFrmprinc.Show
>
>in vb6 cioè io ho in esecuzione il form caricato all'inizio del
>progetto e dovrei scaricarlo per caricarne un altro...
>Diego Degli Esposti

Direi che l'equivalente è invocare il metodo 'close' della form attualmente aperta e costruire la seconda. In VB sarebbe così:

Dim FP as new MDIFrmprinc
Me.Close 'Me equivale al 'This', se non erro
FP.Show

Tieni presente che la finalizzazione degli oggetti in .Net non è deterministica. Il tuo Unload in VB dava l'avvio contestuale ad una serie di accadimenti. In .Net, se l'applicazione non si trova in carenza di memoria, l'oggetto Form che hai chiuso potrebbe venire effettivamente 'scaricato' solo alla chiusura dell'applicazione stessa. Ma al momento questo aspetto non deve turbarti i sonni!
Ovviamente non devi avere la tua applicazione legata alla form che chiudi, altrimenti ti si chiude anche l'applicazione, ma non ho idea di come stiano le cose in C#, di default.

Djdee86 Profilo | Newbie

Purtroppo l'applicazione di default è legata al primo form e quando faccio close mi scarica sia il primo form che il form che carico successivamente...

Diego Degli Esposti

alextyx Profilo | Expert

Mi sembrava di aver già affrontato la cosa e con una breve ricerca....:

http://www.dotnethell.it/forum/messages.aspx?ThreadID=18681

In bocca al lupo!

Djdee86 Profilo | Newbie

Grazie ho risolto.......
Diego Degli Esposti
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5