9
votes

Comment soulever des événements avec addhandler

Je suis à l'aise avec les événements et les gestionnaires de VB.NET. Quelqu'un peut-il m'aider à créer des gestionnaires d'événements en C # et d'élever des événements.


3 commentaires

Tu dois être plus précis.


Je pense qu'il veut juste savoir comment ajouter des gestionnaires d'événements et soulever des événements dans C # et il sait déjà comment le faire dans VB.


Mitsh, j'ai beaucoup édité votre question. J'essayais juste d'améliorer l'anglais. Si j'ai mal compris ce que vous demandiez, je suis désolé - s'il vous plaît simplement le changer.


4 Réponses :


3
votes
    public MyClass()
    {
        InitializeComponent();
        textBox1.LostFocus += new EventHandler(testBox1_LostFocus);
    }

    void testBox1_LostFocus(object sender, EventArgs e)
    {
        // do stuff
    }

0 commentaires

7
votes

in c # 2 et up vous ajoutez des gestionnaires d'événements comme celui-ci: xxx

où la signature de SOMEMETHODGROUP correspond à la signature du délégué de YourObject.event < /code >.

in c # 1 Vous devez créer explicitement un gestionnaire d'événements comme celui-ci: xxx

et maintenant les signatures du groupe de méthodes, événement et EventHandler doit correspondre.


0 commentaires

12
votes

Les développeurs qui connaissent seulement C # ou seulement vb.net, peuvent ne pas savoir que ceci est l'une des plus grandes différences entre vb.net et c #.

Je vais Copie sans scrupule Cette belle explication des événements VB: VB utilise une syntaxe déclarative pour attacher des événements. Le La clause apparaît sur le code qui gérera l'événement. Le cas échéant, plusieurs méthodes peuvent gérer le même événement et plusieurs événements peuvent être gérés par la même méthode. L'utilisation de la clause de poignées repose sur le withEvents modificateur apparaissant sur la déclaration de la variable sous-jacente telle qu'un bouton. Vous pouvez également attacher des gestionnaires de propriétés à l'aide du Mot-clé Addhandler et supprimez-les avec retirerHandler. Par exemple p> xxx pré>

en C #, vous ne pouvez pas utiliser la syntaxe déclarative. Vous utilisez + = qui est surchargé pour agir comme le vb.net Addhandler. Voici un exemple sans vergogne volé réponse tster : p >

public MyClass()
{
    InitializeComponent();
    textBox1.Leave += new EventHandler(testBox1_Leave);
}

void testBox1_Leave(object sender, EventArgs e)
{
  //Do Stuff
}


0 commentaires