Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - VB.NET ( come chiudere una applicazione con più form )
Forum - C# / VB.NET - VB.NET ( come chiudere una applicazione con più form )

Avatar
fifiddu (Normal User)
Rookie


Messaggi: 41
Iscritto: 01/01/2010

Segnala al moderatore
Postato alle 3:57
Domenica, 01/05/2011
ho realizzato un piccolo programma composto da 4 form di cui il primo e quello di presentazione del programma, il secondo form e il form dove si svolgono le funzioni del programma,  il terzo form descrive la mia foto e le mie info, e cosi via.
ora la domanda e: come faccio a far chiudere l'applicazione dal pulsante x in rosso essendo che questi mi chiude si l'applicazione ma mi rimane attiva nella taskbar, se invece clicco sul pulsante chiudi da me realizzato con il codice: application.exit, allora esce dall'applicazione. premetto che il form1 che sarebbe la presentazione del programma, ha un pulsante con il seguente codice: form2.show e me.hide, quindi appena voglio chiudere il programma dal form 2 e dal pulsante x in rosso, non mi chiude definitivamente e rimane nella task bar. spero di essere stato chiaro,

PM
Avatar
noitide (Normal User)
Pro


Messaggi: 107
Iscritto: 24/06/2009

Up
2
Down
V
Segnala al moderatore
Postato alle 9:50
Domenica, 01/05/2011
allora il problema sta che il form di avvio è il form1 e quindi per chiudere il programma devi chiudere il form di avvio, cioè il form1. come mi pare di capire lo usi come presentazione del programma e poi immagino che farai un Hide. Questa procedura mi sembra inutilmente complessa e laboriosa anche perchè esiste un apposito form (la splash screen) per fare la presentazione del programma che si apre durante il caricamento e si chiude alla fine di esso mostrandoti poi il form principale. Ad ogni modo se vuoi continuare su questa strada devi fare in modo che alla chiusura della X rossa del form2 venga chiamato un application.exit e non un me.close, quindi  nell'evento form2_closing o chiami l'application.exit oppure un form1.close.  :k:

Noitide, non sei stato chiarissimo...Però ha ragione devi usare Me.close e non .Hide in questo modo il form viene chiuso, ed eventualmente modificare la chiusura dell'applicazione alla chiusura dell'ultimo form anziche quello di avvio... - walker93 - 01/05/11 10:38
e come faccio a programmare la x rossa del form non principale? non lo so fare, oppure puoi spiegarmi la splash screen? - fifiddu - 01/05/11 13:46
si è vero, chiedo scusa per la poca chiarezza. Comunque puoi scegliere due strade alternative. - noitide - 02/05/11 15:05
PM
Avatar
tullio1995 (Normal User)
Rookie


Messaggi: 59
Iscritto: 20/03/2011

Up
1
Down
V
Segnala al moderatore
Postato alle 20:51
Domenica, 01/05/2011
prova a fare così:

Codice sorgente - presumibilmente VB.NET

  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.         Me.Close()
  3.     End Sub


ok proverò una di queste opzioni e vedrò quale migliore sia la soluzione, vi farò sapere appena ho qualche minuto di tempo. - fifiddu - 03/05/11 14:17
PM
Avatar
noitide (Normal User)
Pro


Messaggi: 107
Iscritto: 24/06/2009

Up
1
Down
V
Segnala al moderatore
Postato alle 15:18
Lunedì, 02/05/2011
richiedo scusa per il commento sopra, non sapevo bene come funzionasse, era la prima volta che provavo ad usarlo :D
Ad ogni modo ti dicevo che puoi seguire due strade differenti:

- la strada di walker93, cioè fare me.close al form1 quando devi chiuderlo al posto che me.hide. Chiaramente facendo questo devi andare a modificare nelle proprietà del progetto (per intenderci dove ci sono le opzioni di compilazione e le risorse) la scheda 'Applicazione' alla voce 'Modalità di Arresto' e devi cambiarla in "Alla chiusura dell'ultimo Form". (è chiaro che quando chiudi il form2 NESSUN altro form o dialog dev'essere aperto e/o nascosto)

- la strada del form2_closing. Praticamente consiste nel gestire l'evento della chiusura del form (funziona come l'evento del Button1_click). per entrare in questa parte del codice non devi far altro che accedere al codice dell'evento form2_load del form (semplicemente facendo doppio click all'interno del form2) e poi in alto a destra dal menù a tendina dove c'è scritto load selezionare formclosing. ti comparirà un "nuovo pezzo di codice" e all'interno di esso potrai chiamare l'application.exit.

se posso darti un consiglio dai una lettura generale alla guida di Totem a questo linkhttp://www.pierotofy.it/pages/guide/Guida_al_Visual_Basic_ ... e in particolar modo per quanto riguarda gli eventi a questo link http://www.pierotofy.it/pages/guide/Guida_al_Visual_Basic_ ...

Spero di essere stato più chiaro ed utile :k:

PM