Cuestión : Error con RemoveHandler y AddHandler

Hola,

In el código siguiente que estoy intentando quitar a un tratante antes de que el procedimiento funcione y que lo agrego detrás cuando el procedimiento concluye.  Sin embargo guardo el conseguir de un mensaje de error que indica que el
lvSubprograms_ItemChecked no tenga la firma correcta en la eliminación ni agregue a tratante code
class= > " claro " del
> del " codeSnippet " del class= del
class= " lineNumbers " del
class= del
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:
secundario notpretty del >Private " del class= " de " codeSnippet847099 del id= del
 -1 entonces
                strSP dévil como secuencia = cboTechnologySet.SelectedItem.ToString
                TechnologyList = TechnologySetDB.GetProgramSubprogramList (strSP)
                lvSubprograms.Items.Clear ()
                Para j como número entero = 0 a TechnologyList.Count - 1
                    T dévil como nuevo 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 = falso
                Después
            
                MessageBox.Show (“una selección se debe hacer”)
            Terminar si
        Coger ex como excepción
            MessageBox.Show (ex. Mensaje, ex.GetType.ToString)
        Finalmente
            AddHandler lvSubprograms.ItemCheck, AddressOf lvSubprograms_ItemChecked
        Intento del final

    Submarino del extremo


    Secundario privado lvSubprograms_ItemChecked (remitente de ByVal como System.Object, ByVal e como System.Windows.Forms.ItemCheckedEventArgs) dirige lvSubprograms.ItemChecked

        Mymetriclist dévil como nueva lista (de métrica)
        Intento
            lvMetrics.Items.Clear ()
            Para cada checkedItem como ListViewItem en lvSubprograms.CheckedItems
                M dévil como nueva métrica
                Si cboInputCode.Text = “NEMS” entonces
                    m.Technology = “nanómetro”
                
                    m.Technology = checkedItem.SubItems (1).Text.ToString
                Terminar si
                mymetriclist. Agregar (m)
            Después

            myDataTable dévil como nuevo DataTable

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

            Ds dévil como nuevo grupo de datos
            dsHelper dévil = nuevo DataSetHelper (ds)
            ds. Tables.Add (myDataTable)
            Dtnew dévil como nuevo DataTable

            dtnew = dsHelper.SelectDistinct (“DistinctMetrics”, ds. Tablas (0), “MetricName”)


            'PopulateMetricsListView (dtnew)


        Retén ex como excepción
            MessageBox.Show (ex. Mensaje, ex.GetType.ToString)
        Intento del final


    Submarino del extremo
class= del

Respuesta : Error con RemoveHandler y AddHandler

Hola chtullu135;

En el AddHandler/el RemoveHandler el acontecimiento necesita emparejar la firma del acontecimiento que usted está llamando. En su código original usted tenía el acontecimiento lvSubprograms.ItemCheck que tiene un tratante de acontecimiento con la firma:

Secundario privado lvSubprograms_ItemChecked (remitente de ByVal como System.Object, ByVal e como System.Windows.Forms.ItemCheckedEventArgs) dirige lvSubprograms.ItemChecked

Observar la discusión ItemCheckedEventArgs del acontecimiento que diferencia de las necesidades de ItemCheck del acontecimiento. El acontecimiento ItemCheck necesita referirse y arg del acontecimiento de ItemCheckEventArgs según las indicaciones de la declaración siguiente.

El lvSubprograms_ItemCheck secundario privado (remitente de ByVal como objeto, ByVal e como System.Windows.Forms.ItemCheckEventArgs) dirige lvSubprograms.ItemCheck

Fernando
Otras soluciones  
 
programming4us programming4us