Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Aktualisiert: November 2007
In Visual Basic 6.0 wurde das Change-Ereignis des ComboBox-Steuerelements ausgelöst, wenn der Text im Texteingabebereich des Steuerelements geändert wurde. Es wurde nicht ausgelöst, wenn ein Element aus dem Listenbereich des Steuerelements ausgewählt wurde. Das Change-Ereignis wird nicht ausgelöst, wenn der Text eines Elements in der Liste programmgesteuert geändert wurde.
Wenn Sie ein Visual Basic 6.0-Projekt zu Visual Basic 2008 migrieren, wird dem Change-Ereignis des ComboBox-Steuerelements das TextChanged-Ereignis des ComboBox-Steuerelements von Visual Basic 2008 zugeordnet. Das Verhalten des TextChanged-Ereignisses weicht von dem des Change-Ereignisses ab. Dieser Unterschied kann zu unerwünschten Ergebnissen im Code führen.
In Visual Basic 2008 wird das TextChanged-Ereignis jedes Mal ausgelöst, wenn sich der Text aus irgendeinem Grund ändert, z. B.:
Wenn der Teil im Texteingabebereich geändert wird.
Wenn ein Element aus der Liste ausgewählt wird.
Wenn ein Listenelement programmgesteuert geändert wird.
Wenn die Add-Methode aufgerufen wird.
Das folgende Beispiel veranschaulicht diese Unterschiede im Verhalten:
' 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
Die nächsten Schritte
- Legen Sie einen Haltepunkt in der TextChanged-Ereignisprozedur fest, und führen Sie den Code aus, um herauszufinden, wo das Ereignis ausgelöst wird. Ändern Sie gegebenenfalls den Code.