Problema Forms

giovedì 03 luglio 2008 - 18.20

DarkBDBB Profilo | Newbie

Ciao,
avrei un problema con l'utilizzo delle forms.
Ho una form1 principale dalla quale avvio una form2 secondaria.
Nella principale, prima di mostrare la form2, imposto alcune variabili pubbliche in form2.
Finito con form2, vorrei che form1 si accorgesse che form2 è stata chiusa e recuperasse i suoi valori per poi salvarli.
Non so quale evento utilizzare né come utilizzarlo, per questo motivo chiedo il vostro aiuto.
Grazie mille.

P.S. Utilizzo form2.Show() per visualizzare form2 e Me.Hide() in form2 per nascondere form2 (ho pensato che chiudendo form2 andassero perduti anche i valori)

P.P.S. Già che siamo in argomento dell'utilizzo degli eventi, come faccio ad eseguire una determinata operazione quando form1 viene minimizzata?

aiedail92 Profilo | Expert

Ciao

Per sapere quando la Form viene chiusa ci sono due eventi: FormClosing (appena prima che la Form venga chiusa, quindi sei ancora in tempo ad arrestarne la chiusura), e FormClosed, generato appena dopo la chiusura della Form. Questi eventi vengono generati solo alla chiusura della Form, quindi devi usare il metodo Close e non Hide, altrimenti non vengono chiamati (e i campi non dovrebbero comunque perdere valore quando chiudi la form)

Invece per sapere quando la Form viene minimizzata puoi usare l'evento Resize e controllare il WindowState:

Private Sub tuaForm_Resize(ByVal sender As Object, ByVal e As EventArgs) If tuaForm.WindowState = FormWindowState.Minimized Then MsgBox("minimized!") End If End Sub

Luca

DarkBDBB Profilo | Newbie

Ho provato ma comunque non cambia nulla.
Quando minimizzo l'interfaccia principale non mi visualizza il messaggio.
Ciao.

aiedail92 Profilo | Expert

Molto strano, ho sempre usato quel metodo e non mi ha mai dato problemi... Forse non hai aggiunto l'handler per l'evento?

Luca

DarkBDBB Profilo | Newbie

Esatto!
Me ne sono dimenticato!
E per quanto riguarda il form2, se voglio capire dal form1 quando viene nascosto, come posso fare?
Grazie mille.

aiedail92 Profilo | Expert

Puoi usare l'evento VisibleChanged

Luca

DarkBDBB Profilo | Newbie

Come faccio se voglio Massimizzare una finestra minimizzata?
Ovviamente senza il pulsante ma con una funzione?

aiedail92 Profilo | Expert

Imposti la proprietà WindowState:

tuaForm.WindowState = FormWindowState.Maximized

Luca
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