Questione : Controllo su ordinazione che comunica un evento per parent forma

Ho codificato il UI per un controllo (codice categoria basso: UserControl) ed ora deve comunicare un evento alla forma del genitore.  Ovviamente perché il controllo potrebbe essere utilizzato nelle forme differenti non posso conoscere in anticipo il nome della forma - così come genero un certo evento (o messaggio), passo questo al genitore e faccio rispondere al genitore a questo?


(in C++ appena genererei il mio proprio messaggio ed userei PostMessage per comunicare con una finestra del genitore)
class= del

Risposta : Controllo su ordinazione che comunica un evento per parent forma

Dovete definire il vostro proprio evento e fare la forma del genitore abbonarti ad esso. Esempio semplice using EventHandler standard (dovrete definire il vostro proprio codice categoria eventargs/del delegato se volete comunicare le informazioni su ordinazione con il vostro evento):
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
controllo dell'utente di //
    codice categoria parziale pubblico MyUserControl: UserControl
    {
        evento pubblico EventHandler SomethingHappened;

        MyUserControl pubblico ()
        {
            InitializeComponent ();
        }

        vuoto riservato button1_Click (mittente dell'oggetto, EventArgs e)
        {
            OnSomethingHappened ();
        }

        OnSomethingHappened vuoto protettivo ()
        {
            se (SomethingHappened! = posizione di segnale minimo)
                SomethingHappened (questo, nuovo EventArgs ());
        }
    }


'/forma del genitore
vuoto riservato Form1_Load (mittente dell'oggetto, EventArgs e)
{
    myUserControl1.SomethingHappened += nuovo EventHandler (myUserControl1_SomethingHappened);
}

myUserControl1_SomethingHappened vuoto (mittente dell'oggetto, EventArgs e)
{
    MessageBox.Show (“qualcosa è accaduto„);
}
Altre soluzioni  
 
programming4us programming4us