[Vb.net] Per eliminare controlli..

mercoledì 09 febbraio 2005 - 15.11

Andy Profilo | Senior Member

..creati in Runtime su una Form, è sufficiente il Dispose?

Se successivamente ricreo lo stesso controllo quindi non crea nessun conflitto?

Grazie..

Brainkiller Profilo | Guru

Non crea nessun conflitto no, perchè nel momento che fai una new viene ricreato un nuovo oggetto, e quello creato in precedenza non è più raggiungibile verrà ripulito dalla memoria.
Se fai un Dispose chiaramente è meglio perchè indichi a .NET che non è più usato e quindi di provvedere alla pulizia.

ciao
david

Andy Profilo | Senior Member

Ciao David..ti ringrazio per la risposta celere come al solito,

però mi è successa una cosa "strana"..

con il codice

dim ctr as control

for each ctr in Me.controls
if <condizione> then
ctr.Dispose()
end if
next

Mi genera un'eccezione di oggetto non instanziato...why?

Andy Profilo | Senior Member

Si. ho inserito via codice 5 label, ed al momento di cancellarle mi da questo errore (sembrerebbe sull'ultima label da eliminare)..

Andy Profilo | Senior Member

Se dovesse servire..una soluzione per cancellare tutti i controlli di un form è

Controlsw.Clear

, che ovviamente cancella TUTTI i controlli..per ripristinare i controlli inseriti in Design-Time basta richiamare la

InitializeComponent()

, che reinserisce i controlli iniziali come da form.load


Ciao.
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