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

    [C#] creare classe con evento

    Buongiorno a tutti.

    Avete presente quando, istanziamo un'oggetto Button, ad'esempio, possiamo fare in modo che facendo:

    MyButton.click += new EventHandler(myRoutine);

    cioè ogni volta che in MyButton viene scatenato il click, verrà anche chiamata myRoutine.
    Perfetto no? Bene. Io vorrei fare una classe che ad un certo punto scatena un evento. Volevo dunque capire come posso fare ciò. Cioè come posso istanziare nella classe un'evento che deve avere determinati parametri. Come posso all'interno della classe scatenare l'evento ( immagino invoke?) e inoltre come posso da una classe esterna collegare all'evento della mia classe un'EventHandler (immagino che sia lo stesso codice riportato sopra, ma nn si sa mai!!)



    grazie per i vostri consigli...
    E' da molto che sono iscritto a questo forum, e devo dire che mi è stato sempre molto utile... Grazie a tutti!!!!
    Programmazione .NET
    http://www.samueletosatto.tk

  2. #2
    Credo d'aver risolto...

    Si dichiara un delegato da qualche parte.. ( meglio fuori dalla classe, in modo tale che si veda in tutto il progetto o nel namespace)

    il delegate lo impostiamo come vogliamo, tipo:

    delegate void MioHandler(Stringa messaggio);

    poi invece nella classe dichiariamo l'evento del tipo MioHandler

    ovvia

    public event MioHandler RiceviMessaggio;

    Poi per richiamarlo nella classe, basta scrivere

    RiceviMessaggio(messaggio);

    mentre all'esterno, basterà fare per avere ricezione dell'evento

    MioOggetto.RiceviMessaggio += new MioHandler(nomeRoutine);


    The End... sembra facile ( a dire la verità devo vedere se funziona... dopo vi dirò)
    Programmazione .NET
    http://www.samueletosatto.tk

  3. #3
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    un controllo del tipo

    Codice PHP:
    if(Ricevimessaggio !=Null)
    {
    RiceviMessaggio(messaggio);

    farà in modo che non si scatenino eventi senza che nessuno sia in ascolto..

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.