Лучше избегать глобальных переменных, когда они не нужны.
Вам просто нужно проверить, является ли comboBox ничем, прежде чем пытаться получить доступ к свойству comboBox
:
Private Sub ComboBox_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim comboBox As ComboBox = CType(sender, ComboBox)
'Display selected value
If comboBox IsNot Nothing Then
MsgBox("ProgramID: " & comboBox.SelectedValue.ToString)
End If
End Sub
Мне кажется, что когда comboBox
устанавливается из старого значения в новое значение, это событие SelectedIndexChanged вызывается как для старого, так и для нового выпадающего списка.Я подозреваю, что когда он вызывается для старого comboBox
, отправитель имеет значение null / Nothing, поскольку его значение меняется.Может быть.Но независимо от того, что это происходит, ноль - это ноль.Просто проверьте, что он не равен нулю, прежде чем пытаться получить доступ к любому из его свойств.