Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    352

    [VB.NET] Eventi su UserControl

    Come posso (nel form padre) intercettare gli eventi di una DataGridView che fa parte di un mio UserControl?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    se incapsuli una logica dentro un uc vuol dire che a chi utilizza l'uc non importa cosa succede ai controlli interni. Al padre molto probabilmente non interessa sapere del datagw dentro ma dell'uc, si ok di fatto si traduce nel sapere del datagw ma la puntualizzazione è propedeutica per la risposta: crei un evento personalizzato a livello di uc che lanci allo scatenarsi dell'evento interno.

    Questo è il modo giusto... se invece cerchi un modo veloce, pratico ma (imho) meno oop basta esporre nella classe dell'uc l'oggetto datagw come proprietà publbica e da li accedi a tutte le sue proprietà ed eventi, in questo modo tra le altre cose puoi sottoscrivere un gestore dal padre direttamente all'evento del datagw.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    352
    Originariamente inviato da rsdpzed
    ... se invece cerchi un modo veloce, pratico ma (imho) meno oop basta esporre nella classe dell'uc l'oggetto datagw come proprietà publbica e da li accedi a tutte le sue proprietà ed eventi, in questo modo tra le altre cose puoi sottoscrivere un gestore dal padre direttamente all'evento del datagw.
    Grazie mille...potresti spiegarmi meglio dove dici 'in questo modo tra le altre cose puoi sottoscrivere un gestore dal padre direttamente all'evento del datagw'?

  4. #4
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    nella classe dell'uc scrivi una proprietà piu o meno:

    codice:
    public DataGridView InnerGridview {
      get {
        return this.DataGridView1;
      }
    }
    nel padre...

    codice:
    uc.InnerGridView.Click += handlerDelClick;
    e definisci sempre nel padre l'handler
    codice:
    //in base al tipo di evento la firma cambia e l'eventArgs potrebbe essere un tipo derivato piu specializzato... questo è quello di base
    protected void handlerDelClick(object sender, EventArgs e)
    {
     //gestisci l'evento come fai di solito...
    }

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    352
    grazie 1000

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.