+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Comportamento di FormClosed

  1. #1
    SebastianoFloridia non  in linea Scolaretto
    Post
    142

    Comportamento di FormClosed

    Salve a tutti.
    Ho un problema che non riesco a risolvere.
    Mi sfugge qualcosa nella gestione del FormClosed.

    Quando premo il controlbox di uscita, ma alla richiesta di uscita premo NO, nessun codice viene eseguito,
    Ma scompare il form e rimane attivo nella task manager.

    Cosa mi sfugge?



    codice:
    private void FrmMAIN_FormClosed(object sender, FormClosedEventArgs e)
            {
                ToolbarIDE.Esci();
            }

    ------------------------------------------------------


    codice:
    public static void Esci()
    
            {
    
                DialogResult dialogResult = MessageBox.Show("Sei Sicuro di Volere Uscire?", "Info", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                if (dialogResult == DialogResult.Yes)
                {
    
                    DialogResult dialogResult2 = MessageBox.Show("Vuoi Salvare il progetto prima di uscire?", "Info", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                    if (dialogResult2 == DialogResult.Yes)
                    {
                        ToolbarIDE.Salva();
                    }
                    GestioneXML.ScriviXMLchiusura();
                    Application.Exit();
    
                }
            }

    Grazie
    Sebastiano Floridia
    Ultima modifica di AntonioG; 21-10-2018 01:50 

  2. #2
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,405
    Blogs
    5
    Usa il Form_Closing
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  3. #3
    SebastianoFloridia non  in linea Scolaretto
    Post
    142
    Avevo gi provato.
    Stesso comportamento!!!!

    Grazie
    Sebastiano Floridia

  4. #4
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,405
    Blogs
    5
    Devi usare il Form_Closing ma devi aggiungere il comportamento che deve tenere nel caso di risposta negativa.
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  5. #5
    SebastianoFloridia non  in linea Scolaretto
    Post
    142
    Di fatto premendo NO rinuncio all'operazione.
    Vuol dire che ho cambiato idea e voglio continuare a lavorare.
    Quindi non deve succedere nulla.
    vorrei vedere il form su cui sto lavorando, ma scompare il form e l'applicazione rimane attiva anche se il suo form principale non c' pi.

    Grazie per l'interessamento.

    Ciao
    Sebastiano Floridia

  6. #6
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,405
    Blogs
    5
    Tu stai chiudendo un form. Rinunciando alla chiusura deve accadere che la chiusura venga annullata. E lo devi specificare tu.

    Quindi nella Form_FormClosing, se rinunci alla chiusura con un "no", devi scrivere

    e.Cancel = true;
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  7. #7
    SebastianoFloridia non  in linea Scolaretto
    Post
    142
    Grazie!!!

    ma emerge un altro problema. Questa volta quando voglio uscire ovvero scelgo SI


    codice:
      private void FrmMAIN_FormClosing(object sender, FormClosingEventArgs e)
            {
                                       
                DialogResult dialogResult = MessageBox.Show("Sei Sicuro di Volere Uscire?", "Info", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                if (dialogResult == DialogResult.Yes)
                {
    
                    DialogResult dialogResult2 = MessageBox.Show("Vuoi Salvare il progetto prima di uscire?", "Info", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                    if (dialogResult2 == DialogResult.Yes)
                    {
                        ToolbarIDE.Salva();
                    }
                    GestioneXML.ScriviXMLchiusura();
                    Application.Exit();
    
                }
                else if (dialogResult == DialogResult.No)
                {
                    e.Cancel = true;
    
                }
    
            }
    IL codice passa due volte.
    Appena scelgo SI, alla riga: Application.Exit();
    riviene scatenato l'evento FrmMAIN_FormClosing.

    MI sfugge qualcosa!!

    Grazie
    Sebastiano Floridia

  8. #8
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,405
    Blogs
    5
    Togli la

    Application.Exit();




    P.S. Usa i tag CODE per il codice nel forum, non i colori
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  9. #9
    SebastianoFloridia non  in linea Scolaretto
    Post
    142
    Togliendo
    Application.Exit();, il programma non esce.

    Ho risolto mantenendo il codice in closing, senza Application.Exit(); e inserendo in closed:
    Application.Exit();

    Non lo so se formalmente corretto ma funziona.

    Saluti
    Sebastiano Floridia

  10. #10
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,405
    Blogs
    5
    Non corretto. Se chiudendo il form main non si chiude tutto il programma vuol dire che c' qualcosa di attivo in altri form che non viene chiuso regolarmente.
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi