Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    229

    [VB.NET]Gestione Eventi(DLL+DataGrid)

    Ciao a tutti!
    Sto relaizzando un programma basato su un exe principale (menu) che chiama una serie di dll.
    Per far ciò ho messo nei riferimenti del menù le dll che mi interessa chiamare e poi faccio:
    Dim ap As New AnagraficaPersone.frmMain
    ap.show
    E'il modo corretto?...in ogni caso va....
    Il problema è quando dalla dll che ho chiamato devo tornare alla chiamante magari per aggiornare una griglia, come posso fare?
    Grazie!

  2. #2

    Re: [VB.NET]Gestione Eventi(DLL+DataGrid)

    Originariamente inviato da gecob
    Ciao a tutti!
    Sto relaizzando un programma basato su un exe principale (menu) che chiama una serie di dll.
    Per far ciò ho messo nei riferimenti del menù le dll che mi interessa chiamare e poi faccio:
    Dim ap As New AnagraficaPersone.frmMain
    ap.show
    E'il modo corretto?...in ogni caso va....
    Sì, è corretto .
    Il problema è quando dalla dll che ho chiamato devo tornare alla chiamante magari per aggiornare una griglia, come posso fare?
    Grazie!
    Se non sbaglio il metodo Show dovrebbe ritornare subito dopo aver mostrato la finestra, quindi dovresti riuscire ad aggiornarla senza problemi nel codice che segue la chiamata a Show.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    229
    Il problema è che la griglia della dll padre la voglio aggiornare quando chiudo una form della dll che ho chiamato, quindi nel form closing!

  4. #4
    Possibilità numero uno: gestisci direttamente l'evento Closing all'interno della dll.
    Possibilità numero due: gestisci l'evento Closing nell'applicazione chiamante, aggiungendo un gestore di evento tramite AddHandler:
    codice:
    '...
    AddHandler ap.Closing, GestoreChiusura
    '...
    Public Sub GestoreChiusura(ByVal sender As Object, ByVal e As CancelEventArgs)
    'codice per l'aggiornamento della griglia
    '...
    End Sub
    Possibilità numero tre: dichiari una variabile privata WithEvents che contenga un riferimento al form nel modulo/nella classe dell'applicazione chiamante e gestisci l'evento con la parola chiave Handles:
    codice:
    Private WithEvents ap As System.Windows.Forms.Form
    '...
    ap = New AnagraficaPersone.frmMain
    ap.Show
    '...
    Public Sub GestoreChiusura(ByVal sender As Object, ByVal e As CancelEventArgs) Handles ap.Closing
    'codice per l'aggiornamento della griglia
    '...
    End Sub
    Possibilità numero quattro: se non ti interessa eseguire l'aggiornamento proprio durante l'evento Closing ma dopo che il form si è effettivamente chiuso ti basta richiamare il metodo ShowDialog invece che Show, che ritorna solamente dopo che il form è stato chiuso:
    codice:
    Dim ap As New AnagraficaPersone.frmMain
    ap.ShowDialog
    'codice per l'aggiornamento della griglia
    '...
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    229
    Sei stato davvero molto chiaro, appena ho un attimo proverò una delle 4 possibilità!
    Per adesso grazie mille e buon anno!

  6. #6
    Auguri anche a te!
    Amaro C++, il gusto pieno dell'undefined behavior.

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.