Question : Erreur avec RemoveHandler et AddHandler

Bonjour,

In le code suivant que j'essaye d'enlever un traiteur avant que le procédé fonctionne et l'ajoute en arrière quand le procédé conclut.  Cependant je continue à recevoir un message d'erreur déclarant que le
lvSubprograms_ItemChecked n'a pas la signature correcte dans l'élimination ou n'ajoute pas le traiteur code
class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
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 :
34 :
35 :
36 :
37 :
38 :
39 :
40 :
41 :
42 :
43 :
44 :
45 :
46 :
47 :
48 :
49 :
50 :
51 :
52 :
53 :
54 :
55 :
56 :
57 :
58 :
59 :
60 :
61 :
62 :
63 :
64 :
secondaire " de " codeSnippet847099 d'id= " de
Private de class= cboTechnologySet_SelectedIndexChanged (expéditeur de ByVal comme System.Object, ByVal e comme System.EventArgs) manipule cboTechnologySet.SelectedIndexChanged

        Essai
            RemoveHandler lvSubprograms.ItemCheck, AddressOf lvSubprograms_ItemChecked
            Si cboTechnologySet.SelectedIndex > -1 puis
                Faible strSP comme corde = cboTechnologySet.SelectedItem.ToString
                TechnologyList = TechnologySetDB.GetProgramSubprogramList (strSP)
                lvSubprograms.Items.Clear ()
                Pour j comme nombre entier = 0 à TechnologyList.Count - 1
                    Faible t en tant que nouveau TechnologySet
                    t = TechnologyList (j)
                    lvSubprograms.Items.Add (t.TechnologySetCode)
                    lvSubprograms.Items (lvSubprograms.Items.Count - 1).SubItems.Add (t.SubTechnologyCode)
                    lvSubprograms.Items (lvSubprograms.Items.Count - 1).Checked = faux
                Après
            Autrement
                MessageBox.Show (« un choix doit être fait »)
            Finir si
        Attraper ex comme exception
            MessageBox.Show (ex. Message, ex.GetType.ToString)
        Enfin
            AddHandler lvSubprograms.ItemCheck, AddressOf lvSubprograms_ItemChecked
        Essai de fin

    Sous-marin d'extrémité


    Secondaire privé lvSubprograms_ItemChecked (expéditeur de ByVal comme System.Object, ByVal e comme System.Windows.Forms.ItemCheckedEventArgs) manipule lvSubprograms.ItemChecked

        Faible mymetriclist en tant que nouvelle liste (de métrique)
        Essai
            lvMetrics.Items.Clear ()
            Pour chaque checkedItem comme ListViewItem dans lvSubprograms.CheckedItems
                Faible m en tant que nouvelle métrique
                Si cboInputCode.Text = « NEMS » puis
                    m.Technology = « nanomètre »
                Autrement
                    m.Technology = checkedItem.SubItems (1).Text.ToString
                Finir si
                mymetriclist. Ajouter (m)
            Après

            Faible myDataTable en tant que nouveau DataTable

            myDataTable = MetricsDB.GetMetricList (mymetriclist)
            'PopulateMetricsListView (myDataTable)

            Faible ds en tant que nouvel ensemble de données
            Faible dsHelper = nouveau DataSetHelper (ds)
            ds. Tables.Add (myDataTable)
            Faible dtnew en tant que nouveau DataTable

            dtnew = dsHelper.SelectDistinct (« DistinctMetrics », ds. Tableaux (0), « MetricName »)


            'PopulateMetricsListView (dtnew)


        Crochet ex comme exception
            MessageBox.Show (ex. Message, ex.GetType.ToString)
        Essai de fin


    Sous-marin d'extrémité
class= de

Réponse : Erreur avec RemoveHandler et AddHandler

Salut chtullu135 ;

Sur l'AddHandler/RemoveHandler l'événement doit assortir la signature de l'événement que vous appelez. En votre code original vous avez eu le l'événement lvSubprograms.ItemCheck qui a un traiteur d'événement avec la signature :

Secondaire privé lvSubprograms_ItemChecked (expéditeur de ByVal comme System.Object, ByVal e comme System.Windows.Forms.ItemCheckedEventArgs) manipule lvSubprograms.ItemChecked

Noter l'argument ItemCheckedEventArgs d'événement qui diffère des besoins d'ItemCheck d'événement. L'événement ItemCheck doit mettre en référence et arg d'événement d'ItemCheckEventArgs suivant les indications du prochain rapport.

Le lvSubprograms_ItemCheck secondaire privé (expéditeur de ByVal comme objet, ByVal e comme System.Windows.Forms.ItemCheckEventArgs) manipule lvSubprograms.ItemCheck

Fernando
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us