Vraag : De controle die van de douane een gebeurtenis meedelen aan oudervorm

Ik heb UI voor een controle gecodeerd (basisklasse: UserControl) en moet nu een gebeurtenis aan de oudervorm meedelen.  Duidelijk omdat de controle in verschillende vormen zou kunnen worden gebruikt kan ik niet de naam van de vorm vooraf kennen - zo hoe produceer ga ik één of andere gebeurtenis (of bericht), dit tot over de ouder en heb de ouder aan dit antwoorden?


(in C++ ik zou enkel mijn eigen bericht en gebruik PostMessage om met een oudervenster creëren te communiceren)

Antwoord : De controle die van de douane een gebeurtenis meedelen aan oudervorm

U moet uw eigen gebeurtenis bepalen en de oudervorm hebben aan het intekenen. Eenvoudig voorbeeld die standaardEventHandler (u zult uw eigen afgevaardigde/eventargs klasse gebruiken moeten bepalen als u douaneinformatie met uw gebeurtenis) wilt overgaan:
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:
// gebruikerscontrole
    openbare gedeeltelijke klasse MyUserControl: UserControl
    {
        openbare gebeurtenis EventHandler SomethingHappened;

        openbare MyUserControl ()
        {
            InitializeComponent ();
        }

        privé nietige button1_Click (objecten afzender, EventArgs e)
        {
            OnSomethingHappened ();
        }

        beschermde nietige OnSomethingHappened ()
        {
            als (SomethingHappened! = verklaar) nietig
                SomethingHappened (dit, nieuwe EventArgs ());
        }
    }


'/oudervorm
privé nietige Form1_Load (objecten afzender, EventArgs e)
{
    myUserControl1.SomethingHappened += nieuwe EventHandler (myUserControl1_SomethingHappened);
}

nietige myUserControl1_SomethingHappened (objecten afzender, EventArgs e)
{
    MessageBox.Show („iets gebeurde“);
}
Andere oplossingen  
 
programming4us programming4us