DataGridView で ComboBox の選択された値を取得する必要があります。部分的に機能していますが、グリッド内の別の ComboBox を変更すると、 Null 参照例外が発生します。これが私のコードです:
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
これは、ComboBox が最初に変更されたときは正常に機能しますが、別の ComboBox が変更された場合は Null 参照例外が生成されます。なぜこれが起こっているのですか?注: このコードのほとんどは、MSDN のディスカッション フォームで見つけました。
ありがとう!
ピーター