Obtenir DataGridViewComboboxColumn SelectedValue (VB.Net)

J'ai besoin d'obtenir la valeur sélectionnée d'une zone de liste déroulante dans un DataGridView. Je l'ai partiellement de travail, mais j'obtiens un Référence Nulle Exception si je change une autre zone de liste déroulante dans la grille. Voici mon code:

Private Sub dgvSampleList_EditingControlShowing(ByVal sender As Object, ByVal e As DataGridViewEditingControlShowingEventArgs) Handles dgvSampleList.EditingControlShowing
    Dim comboBox As ComboBox = CType(e.Control, ComboBox)

    If (comboBox IsNot Nothing) Then
        'Remove an existing event-handler
        RemoveHandler comboBox.SelectedIndexChanged, New EventHandler(AddressOf ComboBox_SelectedIndexChanged)

        'Add the event handler. 
        AddHandler comboBox.SelectedIndexChanged, New EventHandler(AddressOf ComboBox_SelectedIndexChanged)
    End If
End Sub

Private Sub ComboBox_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
    Dim comboBox As ComboBox = CType(sender, ComboBox)
    'Display selected value
    MsgBox("ProgramID: " & comboBox.SelectedValue.ToString)
End Sub

Cela fonctionne bien la première fois que la zone de liste déroulante est changé, mais génère une Exception Référence Nulle si une autre zone de liste déroulante est changé. Des idées pourquoi ce qui se passe? Remarque: j'ai trouvé ce code sur le site MSDN de formulaires de discussion.

Merci!

Peter

InformationsquelleAutor Peter | 2011-06-13