Usa el evento
SelectedValueChanged o
SelectedIndexChanged en vez del
TextChanged, es más aconsejable.
El problema no es ese por otro lado. Lo que pasa es que en el Load tu estás cambiado el selectedindex, por lo que obviamente se lanza el evento
TextChanged. Lo que tienes que hacer es añadir el control del evento despues del cambio de índice con la instrucción
AddHandler.
Código vb:
Ver originalPublic Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
cboLista.Items.Add("uno")
cboLista.Items.Add("dos")
cboLista.Items.Add("tres")
cboLista.Items.Add("cuatro")
cboLista.Items.Add("cinco")
cboLista.SelectedIndex = 0
AddHandler cboLista.SelectedIndexChanged, AddressOf ComboBox1_SelectedIndexChanged
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboLista.SelectedValueChanged
MsgBox(cboLista.Text)
End Sub
End Class
Un saludo.