Freigeben über


ComboBox-Steuerelement für Visual Basic 6.0-Benutzer

Aktualisiert: November 2007

Das ComboBox-Steuerelement von Visual Basic 6.0 wird in Visual Basic 2008 durch das ComboBox-Steuerelement von Windows Forms ersetzt. Die Namen einiger Eigenschaften, Methoden, Ereignisse und Konstanten wurden geändert, und in einigen Fällen weicht auch ihr Verhalten ab.

Konzeptionelle Unterschiede

Change-Ereignis

In Visual Basic 6.0 wird das Change-Ereignis des ComboBox-Steuerelements ausgelöst, wenn der Text des Steuerelements geändert wird. Das Change-Ereignis wird nicht ausgelöst, wenn ein Element im Listenbereich des Steuerelements ausgewählt wird. Das Change-Ereignis wird nicht ausgelöst, wenn der Text eines Elements in der Liste programmgesteuert geändert wurde.

In Visual Basic 2008 ist das Change-Ereignis nicht mehr vorhanden. Das TextChanged-Ereignis wird jedes Mal ausgelöst, wenn sich der Text aus irgendeinem Grund ändert, z. B.:

  • Wenn der Text im Texteingabebereich geändert wird.

  • Wenn ein Element aus der Liste ausgewählt wird.

  • Wenn ein Listenelement programmgesteuert geändert wird.

  • Wenn die AddItem-Methode aufgerufen wird.

ItemData-Eigenschaft

In Visual Basic 6.0 kann zur Entwurfszeit im Eigenschaftenfenster für die ItemData-Eigenschaft eines ComboBox-Steuerelements festgelegt werden, dass einem ComboBox-Element ein Integer-Wert zugeordnet wird.

In Visual Basic 2008 ist die ItemData-Eigenschaft nicht mehr vorhanden. Die Microsoft.VisualBasic.Compatibility-Bibliothek enthält eine SetItemData-Funktion, mit der einem Element ein Integer-Wert zugeordnet werden kann. Mit der GetItemData-Funktion kann das Element abgerufen werden.

Gesperrte Eigenschaft

In Visual Basic 6.0 bestimmt die Locked-Eigenschaft eines ComboBox-Steuerelements, ob der Textfeldbereich des Steuerelements bearbeitet werden kann.

In Visual Basic 2008 verhindert die Locked-Eigenschaft, dass ein Steuerelement zur Entwurfszeit verschoben werden kann. Es ist keine unmittelbare Entsprechung für die Locked-Eigenschaft von Visual Basic 6.0 vorhanden. Der gleiche Effekt lässt sich jedoch durch Festlegen der DropDownStyle-Eigenschaft des ComboBox-Steuerelements auf DropDownList erzielen.

Hinweis   In Visual Basic 6.0 wird eine Änderung der Auswahl auch verhindert, wenn für die Locked-Eigenschaft True festgelegt wird. Sie können dieses Verhalten kopieren, indem Sie die Auswahl im MouseDown-Ereignis rückgängig machen.

NewIndex-Eigenschaft

In Visual Basic 6.0 wurde die NewIndex-Eigenschaft zum Abrufen des Indexes für das Element verwendet, das zuletzt zu einem ComboBox-Steuerelement hinzugefügt wurde.

In Visual Basic 2008 ist die NewIndex-Eigenschaft nicht mehr vorhanden. Sie können den Rückgabewert der Item.Add-Methode verwenden, um den Index eines Elements abzurufen, während es hinzugefügt wird.

TopIndex-Eigenschaft

In Visual Basic 6.0 wurde mit der TopIndex-Eigenschaft ein Wert zurückgegeben oder festgelegt, der angab, welches Element in einem ComboBox-Steuerelement oder einem ListBox-Steuerelement an der obersten Position angezeigt wird. Diese Eigenschaft wurde im Allgemeinen zum Durchführen eines Bildlaufs in einer Liste verwendet, ohne einen Eintrag auszuwählen.

In Visual Basic 2008 unterstützt das ComboBox-Steuerelement die TopIndex-Eigenschaft nicht mehr. In den meisten Fällen dürfte dies kein Problem darstellen, weil die TopIndex-Eigenschaft keine sichtbaren Auswirkungen hat, es sei denn, die Style-Eigenschaft ist auf 1 - SimpleCombo festgelegt. In diesem Fall können Sie dieses Verhalten mit einem ListBox-Steuerelement und einem TextBox-Steuerelement emulieren. Die TopIndex-Eigenschaft wird noch vom ListBox-Steuerelement unterstützt.

Scroll-Ereignis

In Visual Basic 6.0 wird das Scroll-Ereignis in Verbindung mit der TopIndex-Eigenschaft zum Ausführen von Aktionen verwendet, wenn in der Liste ein Bildlauf durchgeführt wird. Das Scroll-Ereignis wird von Visual Basic 2008 nicht unterstützt. In den meisten Fällen stellt das SelectedIndexChanged-Ereignis jedoch einen geeigneten Ersatz dar.

Andere Unterschiede

Außerdem gibt es zahlreiche konzeptionelle Unterschiede, die für alle Steuerelemente gelten. Hierzu gehören Unterschiede bei Datenbindung, Schriftartbehandlung, Drag-&-Drop-Vorgänge, Hilfeunterstützung usw. Weitere Informationen finden Sie unter Windows Forms-Konzepte für Visual Basic 6.0-Benutzer.

Änderungen am Code für das ComboBox-Steuerelement

Im folgenden Beispiel werden Unterschiede in den Codierungstechniken von Visual Basic 6.0 und Visual Basic 2008 dargestellt.

Änderungen am Code zum Definieren eines schreibgeschützten ComboBox-Steuerelements

Im folgenden Code wird veranschaulicht, wie die Benutzer daran gehindert werden, einem ComboBox-Steuerelement neue Elemente hinzuzufügen.

' Visual Basic 6.0
Combo1.Locked = True
' Visual Basic
ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList

Änderungen am Code zur Auswahl des Elements, das einem ComboBox-Steuerelement zuletzt hinzugefügt wurde

Im folgenden Code wird veranschaulicht, wie die Auswahl auf ein Element festgelegt wird, das programmgesteuert einem ComboBox-Steuerelement hinzugefügt wurde.

' Visual Basic 6.0
Combo1.AddItem "This is a new item"
Combo1.ListIndex = Combo1.NewIndex
' Visual Basic
Dim i As Integer
i = ComboBox1.Items.Add("This is a new item")
ComboBox1.SelectedIndex = i

Codeänderungen in privaten Sub-Prozeduren für das Zuordnen von ItemData

Im folgenden Code wird veranschaulicht, wie allen in einem ComboBox-Steuerelement aufgeführten Mitarbeitern eine Personalnummer zugeordnet wird und wie diese Nummer zur Laufzeit abgerufen wird.

' Visual Basic 6.0
Private Sub Form_Load
    Combo1.AddItem "Nancy Davolio"
    Combo1.ItemData(Combo1.NewIndex) = 12345
    Combo1.AddItem "Judy Phelps"
    Combo1.ItemData(Combo1.NewIndex) = 67890
End Sub
Private Sub Combo1_Click()
    Label1.Caption = "Empoyee #" & _
    CStr(Combo1.ItemData(Combo1.ListIndex))
End Sub
' Visual Basic
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load

   ComboBox1.Items.Add("Nancy Davolio")
   Microsoft.VisualBasic.Compatibility.VB6. _
      SetItemData(ComboBox1, ComboBox1.Items.Count() - 1, 12345)

   ComboBox1.Items.Add("Judy Phelps")
   Microsoft.VisualBasic.Compatibility.VB6. _
      SetItemData(ComboBox1, ComboBox1.Items.Count() - 1, 67890)
End Sub
' Visual Basic
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

   Label1.Text = "Employee #" & CStr( _
   Microsoft.VisualBasic.Compatibility.VB6. _
      GetItemData(ComboBox1, ComboBox1.SelectedIndex))
End Sub

Entsprechungen zu Eigenschaften, Methoden und Ereignissen des ComboBox-Steuerelements

In den folgenden Tabellen werden Eigenschaften, Methoden und Ereignisse von Visual Basic 6.0 zusammen mit ihren Visual Basic 2008-Entsprechungen aufgeführt. Die Eigenschaften, Methoden und Ereignisse, die den gleichen Namen und das gleiche Verhalten haben, werden nicht aufgeführt. Sofern vorhanden, wurden Konstanten unter der Eigenschaft oder Methode eingerückt aufgelistet. Alle Visual Basic 2008-Enumerationen werden, sofern nicht anders angegeben, dem System.Windows.Forms-Namespace zugeordnet.

In dieser Tabelle werden Links zu Themen bereitgestellt, in denen Unterschiede im Verhalten erläutert werden. Wenn in Visual Basic 2008 keine direkte Entsprechung vorhanden ist, werden Links zu Themen bereitgestellt, die Alternativen behandeln.

Eigenschaften

Visual Basic 6.0

Visual Basic 2008-Entsprechung

Appearance

Neue Implementierung. Weitere Informationen finden Sie unter Appearance-Eigenschaft und BorderStyle-Eigenschaft für Visual Basic 6.0-Benutzer.

BackColor

BackColor

Hinweis:
Farben werden in Visual Basic 2008 anders behandelt. Weitere Informationen finden Sie unter Farbverhalten für Visual Basic 6.0-Benutzer.

Container

Parent

DataChanged

DataField

DataFormat

DataMember

DataSource

Neue Implementierung. Weitere Informationen finden Sie unter Data-Steuerelement für Visual Basic 6.0-Benutzer.

DragIcon

DragMode

Neue Implementierung. Weitere Informationen finden Sie unter Drag & Drop für Visual Basic 6.0-Benutzer.

Font

FontBold

FontItalic

FontName

FontSize

FontStrikethrough

FontUnderline

Font

Hinweis:
Schriftarten werden in Visual Basic 2008 anders behandelt. Weitere Informationen finden Sie unter Schriftartbehandlung für Visual Basic 6.0-Benutzer.

ForeColor

ForeColor

Hinweis:
Farben werden in Visual Basic 2008 anders behandelt. Weitere Informationen finden Sie unter Farbverhalten für Visual Basic 6.0-Benutzer.

Height

Height, Size

Hinweis:
Koordinaten werden in Visual Basic 2008 anders behandelt. Weitere Informationen finden Sie unter Koordinatensystem für Visual Basic 6.0-Benutzer.

HelpContextID

Neue Implementierung. Weitere Informationen finden Sie unter Hilfeunterstützung für Visual Basic 6.0-Benutzer.

HWnd

Handle

Index

Neue Implementierung. Weitere Informationen finden Sie unter Steuerelementarrays für Visual Basic 6.0-Benutzer.

ItemData

Neue Implementierung. Weitere Informationen finden Sie unter Die ItemData-Eigenschaft kann nicht aktualisiert werden.

Left

Left

Hinweis:
Koordinaten werden in Visual Basic 2008 anders behandelt. Weitere Informationen finden Sie unter Koordinatensystem für Visual Basic 6.0-Benutzer.

List

Items

ListCount

Count

ListIndex

SelectedIndex

Locked

DropDownStyle = DropDownList

Hinweis:
In Visual Basic 6.0 wird eine Änderung der Auswahl auch verhindert, wenn die Locked-Eigenschaft auf True festgelegt wird. Sie können dieses Verhalten in Visual Basic 2008 kopieren, indem Sie die Auswahl im MouseDown-Ereignis rückgängig machen.

MouseIcon

Neue Implementierung. Weitere Informationen finden Sie unter Es kann kein benutzerdefinierter MousePointer festgelegt werden.

MousePointer

Cursor

Eine Liste mit Konstanten finden Sie unter MousePointer für Visual Basic 6.0-Benutzer.

NewIndex

Neue Implementierung. Weitere Informationen finden Sie unter Die NewIndex-Eigenschaft kann nicht aktualisiert werden.

OLEDragMode

Neue Implementierung. Weitere Informationen finden Sie unter Drag & Drop für Visual Basic 6.0-Benutzer.

OLEDropMode

Neue Implementierung. Weitere Informationen finden Sie unter Drag & Drop für Visual Basic 6.0-Benutzer.

Parent

FindForm-Methode

RightToLeft

RightToLeft

SelLength

SelectionLength

SelStart

SelectionStart

SelText

SelectedText

Style

DropDownStyle

ToolTipText

ToolTip-Komponente

Weitere Informationen finden Sie unter QuickInfo-Unterstützung für Visual Basic 6.0-Benutzer.

Top

Top

Hinweis:
Koordinaten werden in Visual Basic 2008 anders behandelt. Weitere Informationen finden Sie unter Koordinatensystem für Visual Basic 6.0-Benutzer.

TopIndex

Neue Implementierung. Weitere Informationen finden Sie unter TopIndex-Eigenschaft und Scroll-Ereignis für Visual Basic 6.0-Benutzer.

WhatsThisHelpID

Neue Implementierung. Weitere Informationen finden Sie unter Hilfeunterstützung für Visual Basic 6.0-Benutzer.

Width

Width, Size

Hinweis:
Koordinaten werden in Visual Basic 2008 anders behandelt. Weitere Informationen finden Sie unter Koordinatensystem für Visual Basic 6.0-Benutzer.

Methoden

Visual Basic 6.0

Visual Basic 2008-Entsprechung

AddItem

Add

AddRange

Insert

Clear

Clear

Drag

Neue Implementierung. Weitere Informationen finden Sie unter Drag & Drop für Visual Basic 6.0-Benutzer.

Move

SetBounds

Hinweis:
Koordinaten werden in Visual Basic 2008 anders behandelt. Weitere Informationen finden Sie unter Koordinatensystem für Visual Basic 6.0-Benutzer.

OLEDrag

Drag & Drop für Visual Basic 6.0-Benutzer.

RemoveItem

Items.Remove

SetFocus

Focus

ShowWhatsThis

Neue Implementierung. Weitere Informationen finden Sie unter Hilfeunterstützung für Visual Basic 6.0-Benutzer.

ZOrder

BringToFrontSendToBack-Funktionen

Ereignisse

Visual Basic 6.0

Visual Basic 2008-Entsprechung

Change

TextChanged

Hinweis:
Das Verhalten des TextChanged-Ereignisses weicht geringfügig ab. Weitere Informationen finden Sie unter Change-Ereignis des ComboBox-Steuerelements für Visual Basic 6.0-Benutzer.

Click

SelectedIndexChanged

DblClick

Neue Implementierung. Verwenden Sie das SelectedIndexChanged oder das TextChanged-Ereignis.

DragDrop

DragOver

Neue Implementierung. Weitere Informationen finden Sie unter Drag & Drop für Visual Basic 6.0-Benutzer.

GotFocus

Enter

LostFocus

Leave

OLECompleteDrag

OLEDragDrop

OLEDragOver

OLEGiveFeedback

OLESetData

OLEStartDrag

Neue Implementierung. Weitere Informationen finden Sie unter Drag & Drop für Visual Basic 6.0-Benutzer.

Scroll

Neue Implementierung. Weitere Informationen finden Sie unter TopIndex-Eigenschaft und Scroll-Ereignis für Visual Basic 6.0-Benutzer.

Validate

Validating

Hinweise zum Durchführen einer Aktualisierung

Wenn Sie für ein Visual Basic 6.0-Projekt ein Update auf Visual Basic 2008 durchführen, 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.

Jeglicher Code, der auf die Eigenschaften ItemData, Locked, NewIndex oder TopIndex verweist, und der Code in der Scroll-Ereignisprozedur wird nicht aktualisiert. Dem Code werden Warnkommentare hinzugefügt, und der Code muss vor dem Kompilieren der Anwendung entfernt oder geändert werden.

Siehe auch

Konzepte

Farbverhalten für Visual Basic 6.0-Benutzer

Font-Objekt für Visual Basic 6.0-Benutzer

MousePointer für Visual Basic 6.0-Benutzer

QuickInfo-Unterstützung für Visual Basic 6.0-Benutzer

Referenz

Übersicht über das ComboBox-Steuerelement (Windows Forms)