Evento Control Change di ComboBox per gli utenti di Visual Basic 6.0

Aggiornamento: novembre 2007

In Visual Basic 6.0 l'evento Change del controllo ComboBox viene generato alla modifica del testo nella parte di inserimento testo del controllo e non viene generato quando si seleziona un elemento dall'elenco del controllo. A livello di codice, la modifica del testo di un elemento nell'elenco non genera l'evento Change.

Quando un progetto viene aggiornato a Visual Basic 2008, l'evento Change del controllo ComboBox viene mappato all'evento TextChanged del controllo ComboBox di Visual Basic 2008. Il comportamento dell'evento TextChanged è diverso da quello dell'evento Change e questa differenza può causare risultati indesiderati nel codice.

In Visual Basic 2008 l'evento TextChanged viene generato ogni volta che il testo subisce modifiche per vari motivi, fra cui:

  • Quando si modifica la parte di inserimento testo.

  • Quando si seleziona un elemento dall'elenco.

  • Quando un elemento dell'elenco viene modificato a livello di codice.

  • Quando si richiama il metodo Add.

Nell'esempio che segue sono mostrate le differenze di funzionamento.

' Visual Basic 6.0
Private Sub Form_Load()
   ' Does not raise the Change event.
   Combo1.AddItem "A"
End Sub
Private Sub Form_Click()
   ' Does not raise the Change event.
   Combo1.List(0) = "B"
End If
' Visual Basic
Private Sub Form1_Load()
   ' Raises the TextChanged event.
   ComboBox1.Items.Add("A")
End Sub
Private Sub Form1_Click(ByVal sender As System.Object, ByVal _
e As System.EventArgs)
   ' Uses the SetItemString method from the VB6 compatibility library; 
   ' there is no equivalent method in Visual Basic.
   ' Raises the TextChanged event.
   Microsoft.VisualBasic.Compatibility.VB6. _
      SetItemString(ComboBox1, ComboBox1.Items.Count, "B")
End Sub

Ulteriori operazioni

  • Impostare un punto di interruzione nella routine eventi TextChanged ed eseguire il codice per determinare dove viene generato. Modificare il codice in base alle esigenze.

Vedere anche

Concetti

Controllo ComboBox per gli utenti di Visual Basic 6.0