Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Chiudere form figlio e form padre

    Dopo aver aperto un form con il metodo showdialog, da quest'ultimo voglio chiudere lo stesso e il padre insieme riportando un ulteriore form aperto prima in primo piano, qualcuno mi può aiutare?

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    E' sufficiente che tu includa una chiamata al metodo Close del form "padre" dopo la chiamata al metodo ShowDialog del form "figlio".

    codice:
    ' Visualizzo il form secondario
    Frm2.ShowDialog()
    
    ' Chiudo questo form
    Me.Close()
    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Si, ci avevo pensato, ma vorrei che dal form figlio ci fosse anche la possibilità di tornare a visualizzare il form padre cliccando su un bottone diverso, nel tuo modo il form padre si chiude sempre.

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Originariamente inviato da stellinaxxx
    Si, ci avevo pensato, ma vorrei che dal form figlio ci fosse anche la possibilità di tornare a visualizzare il form padre cliccando su un bottone diverso, nel tuo modo il form padre si chiude sempre.
    Potresti attribuire un diverso "responso di chiusura" al form figlio in modo che, dal form padre, attraverso il valore restituito dal metodo ShowDialog, si possa capire le intenzioni dell'utente, cioè se occorre chiudere anche il form padre stesso oppure visualizzare un altro form modale.

    Leggi la documentazione del metodo ShowDialog() che contiene note a riguardo.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Si, infatti l'ho già fatto, praticamente ho creato una variabile boolean ClosePadre che a seconda che sia true o false chiude o no il form padre, pensavo ci fosse un'altro modo, comunque per quanto riguarda il voler riportare in primo piano un form che magari sta sotto altri?

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Originariamente inviato da stellinaxxx
    Si, infatti l'ho già fatto, praticamente ho creato una variabile boolean ClosePadre che a seconda che sia true o false chiude o no il form padre, pensavo ci fosse un'altro modo
    Non conosco un modo più rapido per determinare le intenzioni espresse all'interno di un form che viene chiuso di quello che ti ho esposto, che in fondo non fa altro che ricevere la scelta che ha determinato la chiusura del form ed eseguire diverse operazioni a seconda dei casi.

    Originariamente inviato da stellinaxxx
    comunque per quanto riguarda il voler riportare in primo piano un form che magari sta sotto altri?
    Se hai il riferimento al form da portare in primo piano all'interno di una variabile, basta chiamare il metodo BringToFront.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Ma il form che voglio riportare in primo piano é il form di avvio che non ha tale metodo.

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Originariamente inviato da stellinaxxx
    Ma il form che voglio riportare in primo piano é il form di avvio che non ha tale metodo.
    Ce l'ha ce l'ha...
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.