Vb.net 2.0 show e showdialog

giovedì 04 ottobre 2007 - 20.22

EmaGuzzetti Profilo | Junior Member

salve a tutti... ho bisogno di caricare un form in modo che non si possa accedere al forma aperto in precedenza.. e fin qui direte... facile, c'è .showdialog... ma vorrei anche che tutte le volte idati e le textbox modificate tornasseroall situazione originale.. come in .show e non mi conservassero i dati... come posso fare?

SSUPERPIPPO Profilo | Guru

... prova a spiegarti meglio...


http://blogs.dotnethell.it/alebadalin

EmaGuzzetti Profilo | Junior Member

per esempio.. se carico un form con .showdialog e modifico il contenuto di una textbox e ci metto 4 quando ricaricherò il form la textbox avrà sempre 4 (e stesa cosa per le variabili...) mentre con .show ritorna tutte le volte com'era all'inizio...
io avrei bisogno di fare in modo che tutte le volte i dati tornino comerano all'inizio (come in .show), ma che mi sia impossibile accedere al form da cui l'ho aperto(come in .showdialog)... si può fare?

SSUPERPIPPO Profilo | Guru

>per esempio.. se carico un form con .showdialog e modifico il contenuto di una textbox e ci metto 4 quando ricaricherò il form la >textbox avrà sempre 4 (e stesa cosa per le variabili...) mentre con .show ritorna tutte le volte com'era all'inizio...
>io avrei bisogno di fare in modo che tutte le volte i dati tornino comerano all'inizio (come in .show), ma che mi sia impossibile >accedere al form da cui l'ho aperto(come in .showdialog)... si può fare?

Allora... carichi un form con il metodo .showdialog, modifichi il contenuto della textbox e poi..??? cosa intendi per ricaricherò il form? che lo chiudi e poi lo riapri? Ma scusami, se tu chiudi il form chiudi l'istanza dell'oggetto per cui non è importante se sia aperto in dialog mode oppure no!?!? il dato inserito viene sempre e comunque perso.


http://blogs.dotnethell.it/alebadalin

EmaGuzzetti Profilo | Junior Member

lo so che mi spiego male.. ma faccio del mio meglio, non so esprimermi bene in linguaggio tecnico...faccio un esempio dettagliato:
ho 2 form, il primo (form1) è quello di avvio, che contiene un pulsante(button1), mentre il secondo(form2) contiene una checkedbox...
all'evento click del pulsante è assegnata la seguente istruzione:
form2.showdialog
avvio il programma... clicco sul pulsante e mi apre il form... non posso accedere al form precedente (che è quello che voglio), metto la spunta alla checkedbox e chiudo il form... se però riclicco sul pulsante mi si riapre il form, ma la checkedbox è già spuntata.. come posso impedirlo?

SSUPERPIPPO Profilo | Guru

Forse ho capito!

Dipende da dove dichiari l'oggetto Form2 che poi apri con ShowDialog.

Se lo dichiari a livello di Form e all'evento click del pulsante richiami ShowDialog, quando tu chiudi il form2 non distruggi l'oggetto e di conseguenza quando lo richiami con ShowDialog riappare con i dati prima inseriti.
Devi quindi dichiarare l'oggetto nell'evento click in questo modo:

Private Sub TuoButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TuoButton.Click

Dim Frm2 as new Form2

Frm2.ShowDialog()

End Sub

In questo modo ogni volta che clicchi sul button crei una nuova istanza di Form2 e di conseguenza con i campi inizializzati.

Spero di aver centrato il problema, ciao

Alessandro

http://blogs.dotnethell.it/alebadalin

EmaGuzzetti Profilo | Junior Member

ah alla fne la soluzione era facilissima, grazie 1000...ciao

SSUPERPIPPO Profilo | Guru

Di nulla...

Chiudi il post accettando la risposta, ciao

Alessandro

http://blogs.dotnethell.it/alebadalin
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5