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
Chiudere una finestra da un altra finestra
martedì 25 settembre 2007 - 14.27
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
IlCondor72
Profilo
| Newbie
35
messaggi | Data Invio:
mar 25 set 2007 - 14:27
Ciao Ragazzi
Ho una finetra NuovoDocumentoTestata ed una altra finestra NuovoDocumentoDettaglio.
Uscendo dalla finestra NuovoDocumentoDettaglio non riesco a chiudere NuovoDocumentoTestata.
Il codice che uso è :
Private Sub Esci_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Esci.Click
NegozoPrototipo.NuovoDocumentoTestata.ActiveForm.Close()
Me.Close()
End Sub
dentro NuovoDocumento Dettaglio.
NuovoDocumentoTestata chiama NuovoDocumetoDettaglio con il codice :
Dim frm As New NuovoDocumentoDettaglio
frm.Show()
Possibile che non riesco.
Si chiude NuovoDocumentoDettaglio ma non NuovoDocumentoTestata.
Grazie a Tutti, e scusate l banalità della richiesta.
Il Mio Sito :
http://xoomer.alice.it/francescovattimo/
Il Mio Blog :
http://francescovattimo.blogspot.com/
Xnetus
Profilo
| Junior Member
130
messaggi | Data Invio:
mar 25 set 2007 - 14:39
Per chiudere una finestra basta fare:
Private Sub Esci_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Esci.Click
NuovoDocumentoDettaglio.Close()
End Sub
oppure, nel tuo caso per chiudere tutto:
Private Sub Esci_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Esci.Click
Me.Close()
End Sub
http://blogs.dotnethell.it/Xnetus/
IlCondor72
Profilo
| Newbie
35
messaggi | Data Invio:
mar 25 set 2007 - 14:50
Ciao
In entrambi i casi
Private Sub Esci_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Esci.Click
NuovoDocumentoDettaglio.Close()
End Sub
Private Sub Esci_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Esci.Click
Me.Close()
End Sub
riesco a chiudere solo la finestra corrente che è NuovoDocumentoDettaglio ma non la finestra madre che la ha generata.
Ciao
Il Mio Sito :
http://xoomer.alice.it/francescovattimo/
Il Mio Blog :
http://francescovattimo.blogspot.com/
Xnetus
Profilo
| Junior Member
130
messaggi | Data Invio:
mar 25 set 2007 - 15:27
Allora fai in questo modo:
Private Sub Esci_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Esci.Click
End
End Sub
http://blogs.dotnethell.it/Xnetus/
IlCondor72
Profilo
| Newbie
35
messaggi | Data Invio:
mar 25 set 2007 - 15:41
Ciao
Così facendo però chiude tutto.
Io vorrei chiudere solo le du2 finestre segnalate sopra.
Il Mio Sito :
http://xoomer.alice.it/francescovattimo/
Il Mio Blog :
http://francescovattimo.blogspot.com/
Xnetus
Profilo
| Junior Member
130
messaggi | Data Invio:
mar 25 set 2007 - 15:49
Prova con questo:
Private Sub Esci_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Esci.Click
NuovoDocumentoTestata.Close()
End Sub
Dovrebbe funzionare, in questo modo chiudi la finestra, diciamo, "madre".
http://blogs.dotnethell.it/Xnetus/
IlCondor72
Profilo
| Newbie
35
messaggi | Data Invio:
mar 25 set 2007 - 16:44
No niente
Private Sub Esci_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Esci.Click
MsgBox("Prima")
NuovoDocumentoTestata.ActiveForm.Close()
MsgBox("Dopo")
End Sub
Ho paura che sia dovuto a come le maschere vengono richiamate, ovvero show e showdialog.
Certo che è terribile avere problemi anche per chiudere una finestra.
Il Mio Sito :
http://xoomer.alice.it/francescovattimo/
Il Mio Blog :
http://francescovattimo.blogspot.com/
Xnetus
Profilo
| Junior Member
130
messaggi | Data Invio:
mar 25 set 2007 - 17:04
Se scrivi un MsgBox dopo la procedura di chiusura e ovvio che non ti permette la chiusura del form.
http://blogs.dotnethell.it/Xnetus/
IlCondor72
Profilo
| Newbie
35
messaggi | Data Invio:
mar 25 set 2007 - 17:53
Niente, Niente, Niente.
Ma perchè non mi chiude quella benedetta Form ?
Non mi accetta il comando !!!!!!
Il Mio Sito :
http://xoomer.alice.it/francescovattimo/
Il Mio Blog :
http://francescovattimo.blogspot.com/
Xnetus
Profilo
| Junior Member
130
messaggi | Data Invio:
mar 25 set 2007 - 18:40
Scusami fai semplicemente questo comando:
Private Sub Esci_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Esci.Click
NuovoDocumentoTestata.Close()
End Sub
e non:
Private Sub Esci_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Esci.Click
MsgBox("Prima")
NuovoDocumentoTestata.ActiveForm.Close()
MsgBox("Dopo")
End Sub
http://blogs.dotnethell.it/Xnetus/
IlCondor72
Profilo
| Newbie
35
messaggi | Data Invio:
mer 26 set 2007 - 08:27
Fatto
Purtroppo il problemanon si risolve, non so che fare !!!!!
Il Mio Sito :
http://xoomer.alice.it/francescovattimo/
Il Mio Blog :
http://francescovattimo.blogspot.com/
SSUPERPIPPO
Profilo
| Guru
1.095
messaggi | Data Invio:
mer 26 set 2007 - 09:12
Ciao,
io farei così:
Dalla finestra chiamante richiami la finestra secondaria con il metodo ShowDialog e subito dopo l'istruzione ShowDialog inserisci l'istruzione me.close:
Dim frm As new Form2
frm.shodialog
me.close
In questo modo il form chiamante rimane in attesa della chiusura del form secondario e poi si chiude.
Prova e fammi sapere.
Ciao
Alessandro
http://blogs.dotnethell.it/alebadalin
Xnetus
Profilo
| Junior Member
130
messaggi | Data Invio:
mer 26 set 2007 - 09:16
Dovrebbe funzionare come le altre soluzioni che non gli funzionano.
http://blogs.dotnethell.it/Xnetus/
IlCondor72
Profilo
| Newbie
35
messaggi | Data Invio:
mer 26 set 2007 - 09:37
Scusa
Ma così facendo chiudo la maschera madre sempre e comunque, non quando vglio io.
Il Mio Sito :
http://xoomer.alice.it/francescovattimo/
Il Mio Blog :
http://francescovattimo.blogspot.com/
SSUPERPIPPO
Profilo
| Guru
1.095
messaggi | Data Invio:
mer 26 set 2007 - 09:40
Mi sembrava di aver capito che volevi che al chiudersi della finestra secondaria si chiudesse anche quella chiamante... forse ho capito male...
http://blogs.dotnethell.it/alebadalin
IlCondor72
Profilo
| Newbie
35
messaggi | Data Invio:
mer 26 set 2007 - 10:06
No
vorrei chiudere la finestra madre ma solo quando voglio io.
Non sempre.
Il Mio Sito :
http://xoomer.alice.it/francescovattimo/
Il Mio Blog :
http://francescovattimo.blogspot.com/
SSUPERPIPPO
Profilo
| Guru
1.095
messaggi | Data Invio:
mer 26 set 2007 - 10:14
Mi viene in mente questa soluzione:
Dim frm As new Form2
frm.shodialog
if frm.shodialog=Windows.Forms.DialogResult.OK then
me.close
end if
Nella finestra secondaria, all'evento dal quale vuoi scatenare la chiusura del form chiamante dovrai scrivere:
me.DialogResult=Windows.Forms.DialogResult.OK
me.close
In questo modo la finestra chiamante si chiude solo se il risultato della form secondaria è impostato su DialogResult.OK
Fammi sapere, ciao
Alessandro
http://blogs.dotnethell.it/alebadalin
Xnetus
Profilo
| Junior Member
130
messaggi | Data Invio:
mer 26 set 2007 - 10:30
A questo punto ci metti due tasti "Esci" e "Chiudi", quando si clicca su "Esci" chiudi anche la finestra madre mentre quando si clicca sul tasto "Chiudi" si chiude solo la finestra che è stata chiamata.
http://blogs.dotnethell.it/Xnetus/
IlCondor72
Profilo
| Newbie
35
messaggi | Data Invio:
mer 26 set 2007 - 10:38
Ho tratto spunto dalla tua proposta solo che ho pensato di utilizzare una variabile globale.
Provo a riepilogare.
Form1 Chiama Form2 con ShowDialog
Form2 Chiama Form3 con ShowDialog
A questo punto uno dei due casi
Form3 vuole chiudere se stessa
Form3 vuole chiudere se stessa e Form2
Il codice Utilizzato è :
Form2 Chiama Form3 con ShowDialog
' ''''''''''''''''''''''''''''''''''''''''''''''
' Richiama la Tabella Ordine Testata
' ''''''''''''''''''''''''''''''''''''''''''''''
Dim frm As New Form3
frm.ShowDialog()
' ''''''''''''''''''''''''''''''''''''''''''''''
' ''''''''''''''''''''''''''''''''''''''''''''''
' Chiude Tutto
' ''''''''''''''''''''''''''''''''''''''''''''''
If VariabiliGlobali.ChiudiFinestraMadre Then
VariabiliGlobali.ChiudiFinestraMadre = False
Me.Close()
End If
' ''''''''''''''''''''''''''''''''''''''''''''''
Form3 Chiude se stessa
Private Sub Indietro_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Indietro.Click
Me.Close()
End Sub
Form3 Chiude se stessa e la madre
Private Sub Esci_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Esci.Click
VariabiliGlobali.ChiudiFinestraMadre = True
Me.Close()
End Sub
In pratica il tutto è stato demandato all'utilizzo di una variabile Globale.
Adesso funziona ma la soluzione non mi sembra affatto elegante.
Ma è così difficile chiudere un maschera ?
Il Mio Sito :
http://xoomer.alice.it/francescovattimo/
Il Mio Blog :
http://francescovattimo.blogspot.com/
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 !