Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490

    [VB.NET]evento ambiente chiamante dopo chiusura form

    in un form ho un pulsante che apre una form con:
    codice:
    nuovoForm.ShowDialog()
    come posso eseguire una operazione alla chiusura del form chiamato? tipo aggiornare un DataGridView? sul form chiamante?
    inoltre se sul secondo form ci sono i pulsanti Ok e Annulla nell'ambiente chiamante come faccio a sapere quale pulsante e stato cliccato?

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    devi gestire l'evento formclosed del form aperto

    ps: con showDialog il codice del chiamante si ferma finche la form è aperta, quindi basta che lo metti dopo

    per sapere quale pulsante è stato chiamato invece dovresti farti tu una showDialog (chiamala tipo showDialogReturn e ritorni una variabile che ti dice cosa hai premuto

  3. #3
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490
    grazie Stoicenko,

    quindi dopo aver chiamato:
    codice:
    nuovaForm.ShowDialog()
    qui devo gestire l'evento formClosed,
    non l'ho mai fatto, fuori del form stesso, come dovrei fare?

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Non ti serve gestire l'evento formClosed della Form ma semplicemente una funzione che ritorni un valore in base a come sei uscito dalla form, in questo modo:

    Form chiamante (Form1)

    codice:
    Form2.ShowDialog
    If Form2.GetExitCod then
    'Hai premuto Ok
    Else
    'Hai premuto Cancel
    End If
    Form2
    codice:
    Dim m_OutState as Boolean
    
    Public Function GetExitCode() As Boolean
        Return m_OutState
    End Function
    
    Private Sub buttonOK_Click(ByVal sender As Object, ByVal e As EventArgs)
        m_OutState = True
           Close()
    End Sub
    
    Private Sub buttonCancel_Click(ByVal sender As Object, ByVal e As EventArgs)
        m_OutState = False
        Close()
    End Sub
    Sbagliare è umano, perseverare è diabolico.

  5. #5
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490
    ok, funge alla perfezione

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 © 2025 vBulletin Solutions, Inc. All rights reserved.