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
Resuscitare una form
mercoledì 12 gennaio 2005 - 15.15
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
AntCiar
Profilo
| Expert
935
messaggi | Data Invio:
mer 12 gen 2005 - 15:15
Ho dichiarato all'interno del codice una vaiabile del tipo:
Private Pippo as new Form1
Da altre parti del codice richiamo la seguente istruzione
Pippo.show
Quando chiudo la Form1( ossia Pippo) e poi rieseguo la chiamata a Pippo.Show mi da come errore "impossibile accedere all'oggetto eliminato....."
Ho provato allora a fare questo
if Pippo is nothing = true
Pippo = new Form1
End if
Pippo.Show
la cosa lo stesso non funziona. Non entra nell'IF. Cosa devo mettere come valore da controllare sull'IF affinchè mi esegua "Pippo = new Form1"?
Grazie
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mer 12 gen 2005 - 16:31
di solito io per aprire una form scrivo questo codice:
Dim pippo as New Form1
pippo.ShowDialog(me)
per chiuderla semplicemente
me.close()
Ciao
GuardianOfTheFlame
Profilo
| Junior Member
112
messaggi | Data Invio:
mer 12 gen 2005 - 16:39
ciao,
ho fatto una piccola prova e in debug si nota che quando chiudi la finestra, pippo non diventa Nothing, quindi il test Pippo is Nothing fallisce. Il test da fare è Pippo.IsDisposed=True ( ha una logica mi par di capire simile ad un dataset. Se cancelli una riga, in realtà non rilascia l'oggetto ma lo flagga come cancellato ):
If Pippo.IsDisposed = True Then
Pippo = New Form2
End If
Try
Pippo.Show()
Riciao
Matteo Salomone
AntCiar
Profilo
| Expert
935
messaggi | Data Invio:
mer 12 gen 2005 - 16:43
Conosco il codice che hia scritto.
Riformulo il quesito perchè non ci siamo capiti.
In testa alla classe dichiaro
Private Pippo as new Form1
sull'evento clic di un bottone scrivo:
pippo.show
Faccio così in modo che se clicco ripetutamente sul bottone non apro tante istanze di Form1
Ora se all'interno di Pippo clicco sulla X di chiusura, Pippo viene distrutta.
Ora se ritorno a fare click sul bottone mi da, ovviamente, un errore perchè tento di aprire qualcosa di distrutto.
Quello che voglio fare io è controllare se Pippo non è stata distrutta In caso contrario, ridichiaro Pippo
All'inizio avevo pensato a:
If Pippo is nothing = true
pippo = new form1
end if
pippo.show
ma in questo modo, anche quando Pippo è distrutta, non entra all'interno dell'IF e quindi non la riesco ad instanziare. Conosci qualcosa da sostituire al posto di "Pippo is nothing = true" che riesca a vedere se la from è distrutta?
AntCiar
Profilo
| Expert
935
messaggi | Data Invio:
mer 12 gen 2005 - 16:44
Grazie per l'aiuto. Funziona
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mer 12 gen 2005 - 16:47
Quale metodo funziona ed hai utilizzato?
AntCiar
Profilo
| Expert
935
messaggi | Data Invio:
mer 12 gen 2005 - 17:16
ho usato il metodo
if pippo.isdisposed = true
pippo = new form1
end if
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 !