Control ListBox para usuarios de Visual Basic 6.0
Actualización: noviembre 2007
El control ListBox de Visual Basic 6.0 se reemplaza por el control ListBox o CheckedListBox en Visual Basic 2008. Los nombres de algunas propiedades, métodos, eventos y constantes son diferentes y, en algunos casos, existen diferencias de comportamiento.
Diferencias conceptuales
ListBox activado
En Visual Basic 6.0, la propiedad Style de un control ListBox determina si aparece una casilla junto a cada elemento de texto. Se pueden seleccionar varios elementos en ListBox aunque la propiedad MultiSelect esté establecida en False; para ello, debe activarse la casilla situada junto a estos elementos. No existe modo alguno de determinar mediante programación el estado de activación de un elemento; si necesita esta funcionalidad, deberá utilizar el control ListView.
En Visual Basic 2008, el nuevo control CheckedListBox muestra casillas al lado de cada elemento; ya no pueden mostrarse casillas en el control ListBox. El control CheckedListBox permite determinar mediante programación el estado de activación de cada elemento a través de una colección CheckedListBox.CheckedItemCollection.
Columns (Propiedad)
En Visual Basic 6.0, la propiedad Columns tomaba un entero que especificaba el número de columnas que se iban a mostrar.
En Visual Basic 2008, la propiedad MultiColumn toma un valor booleano y la propiedad ColumnWidth toma un entero que especifica el ancho en píxeles. Si el ancho del control ListBox cambia en tiempo de ejecución, es posible que tenga que establecer la propiedad ColumnWidth en cada columna.
ItemCheck (Evento)
En el control ListBox de Visual Basic 6,0, cuando se producía un evento ItemCheck, ya se había cambiado el estado de activación.
En el control CheckedListBox de Visual Basic 2008, cuando se provoca el evento ItemCheck, el estado de activación aún no ha cambiado. Puede obtener el valor pendiente del argumento ItemCheckEventArgs transferido al evento.
Cambios de código para el control ListBox
En los ejemplos siguientes se muestran las diferencias entre las técnicas de codificación de Visual Basic 6.0 y Visual Basic 2008.
El código se modifica para agregar y quitar elementos en un control ListBox
El código siguiente muestra cómo se agregan y quitan elementos de ListBox.
' Visual Basic 6.0
' Add an item at the end of the list.
List1.AddItem "Tokyo"
' Insert an item at the top of the list.
List1.AddItem "Copenhagen", 0
' Remove the first item.
List1.RemoveItem 0
'Visual Basic
' Add an item at the end of the list.
ListBox1.Items.Add("Tokyo")
' Insert an item at the top of the list.
ListBox1.Items.Insert(0, "Copenhagen")
' Remove the first item.
ListBox1.Items.RemoveAt(0)
El código se modifica para obtener acceso a elementos específicos de un control ListBox
El código siguiente muestra cómo se devuelve el valor de un elemento de ListBox.
' Visual Basic 6.0
Private Function GetItemText(i As Integer) As String
' Return the text of the item using the index:
GetItemText = ListBox1.List(i)
End Function
' Visual Basic
Private Function GetItemText(ByVal i As Integer) As String
' Return the text of the item using the index:
GetItemText = CStr(ListBox1.Items(i))
End Function
El código se modifica para determinar los elementos activados en un control CheckedListBox
El código siguiente muestra cómo se determina el estado de activación de elementos en un control CheckedListBox.
' Visual Basic 6.0
' The Visual Basic 6.0 ListBox control didn't support this scenario,
' a ListView control had to be used instead.
Dim s As String
Dim i As Integer
' Loop through all items
For i = 1 To ListView1.ListItems.Count
' If an item is checked, add it to the string
If ListView1.ListItems(i).Checked = True Then
s = s & "Checked Item" & CStr(i) & " = " & _
ListView1.ListItems(i) & vbCrLf
End If
Next
' Determine if any items are checked.
If s <> "" Then
MsgBox s
End If
' Visual Basic
' Determine if there are any items checked.
If CheckedListBox1.CheckedItems.Count <> 0 Then
' If so, loop through all checked items and print results.
Dim x As Integer
Dim s As String = ""
For x = 0 To CheckedListBox1.CheckedItems.Count - 1
s = s & "Checked Item " & CStr(x + 1) & " = " & _
CStr(CheckedListBox1.CheckedItems(x)) & ControlChars.CrLf
Next x
MessageBox.Show(s)
End If
Equivalencias de propiedades, métodos y eventos del control ListBox
En las siguientes tablas se muestran propiedades, métodos y eventos de Visual Basic 6.0, junto con sus equivalentes en Visual Basic 2008. No se enumeran aquellas propiedades, métodos y eventos que tienen el mismo nombre y el mismo comportamiento. Donde corresponde, las constantes aparecen con sangría debajo de la propiedad o método. Salvo que se indique lo contrario, todas las enumeraciones de Visual Basic 2008 se asignan al espacio de nombres System.Windows.Forms.
Esta tabla proporciona vínculos a temas en los que se explican las diferencias de comportamiento. Cuando no existe un equivalente directo en Visual Basic 2008, se proporcionan vínculos a temas en los que se incluyen alternativas.
Propiedades
Visual Basic 6.0 |
Equivalente en Visual Basic 2008 |
||
---|---|---|---|
Appearance |
Nueva implementación. Para obtener más información, vea Propiedades Appearance y BorderStyle para usuarios de Visual Basic 6.0. |
||
BackColor |
|
||
Columns |
|||
Container |
|||
DataChanged DataField DataFormat DataMember DataSource |
Nueva implementación. Para obtener más información, vea Acceso a datos para usuarios de Visual Basic 6.0. |
||
DragIcon DragMode |
Nueva implementación. Para obtener más información, vea Arrastrar y colocar para usuarios de Visual Basic 6.0. |
||
FontFont FontBold FontItalic FontName FontSize FontStrikethrough FontUnderline |
|
||
ForeColor |
|
||
Height |
|
||
HelpContextID |
Nueva implementación. Para obtener más información, vea Compatibilidad con la Ayuda para usuarios de Visual Basic 6.0. |
||
HWnd |
|||
Index |
Nueva implementación. Para obtener más información, vea Matrices de controles para usuarios de Visual Basic 6.0. |
||
IntegralHeight |
|||
ItemData |
Nueva implementación. Para obtener más información, vea No se puede actualizar la propiedad ItemData. |
||
Left |
|
||
List |
|||
ListCount |
Count (List.Count) |
||
ListIndex |
|||
MouseIcon |
Nueva implementación. Para obtener más información, vea No se puede personalizar la propiedad MousePointer. |
||
MousePointer |
Para obtener una lista de constantes, vea MousePointer para usuarios de Visual Basic 6.0. |
||
MultiSelect |
|||
NewIndex |
Nueva implementación. Para obtener más información, vea No se puede actualizar la propiedad NewIndex. |
||
OLEDragMode OLEDropMode |
Nueva implementación. Para obtener más información, vea Arrastrar y colocar para usuarios de Visual Basic 6.0. |
||
Parent |
Método FindForm |
||
SelCount |
Count (SelectedItem.Count) |
||
Selected |
GetSelected, SetSelected (control ListBox) GetItemChecked, SetItemChecked (control CheckedListBox) |
||
Style |
Nueva propiedad de implementación. 0 – Standard se asigna al control CheckedListBox; 1 – Checkbox se asigna al control CheckedListBox. |
||
ToolTipText |
Componente ToolTip Para obtener más información, vea Compatibilidad de la información sobre herramientas para usuarios de Visual Basic 6.0. |
||
Top |
|
||
WhatsThisHelpID |
Nueva implementación. Para obtener más información, vea Compatibilidad con la Ayuda para usuarios de Visual Basic 6.0. |
||
Width |
|
Métodos
Nombre |
Equivalente en Visual Basic 2008 |
||
---|---|---|---|
AddItem |
|||
Clear |
|||
Drag |
Nueva implementación. Para obtener más información, vea Arrastrar y colocar para usuarios de Visual Basic 6.0. |
||
Move |
|
||
OLEDrag |
Nueva implementación. Para obtener más información, vea Arrastrar y colocar para usuarios de Visual Basic 6.0. |
||
RemoveItem |
|||
SetFocus |
|||
ShowWhatsThis |
Nueva implementación. Para obtener más información, vea Compatibilidad con la Ayuda para usuarios de Visual Basic 6.0. |
||
ZOrder |
Método BringToFront o SendToBack |
Eventos
Visual Basic 6.0 |
Equivalente en Visual Basic 2008 |
---|---|
DblClick |
|
DragDrop DragOver |
Nueva implementación. Para obtener más información, vea Arrastrar y colocar para usuarios de Visual Basic 6.0. |
GotFocus |
|
ItemCheck |
ItemCheck (sólo CheckedListBox) |
LostFocus |
|
OLECompleteDrag OLEDragDrop OLEDragOver OLEGiveFeedback OLESetData OLEStartDrag |
Nueva implementación. Para obtener más información, vea Arrastrar y colocar para usuarios de Visual Basic 6.0. |
Scroll |
Nueva implementación. Para obtener más información, vea Propiedad TopIndex y evento Scroll para usuarios de Visual Basic 6.0. |
Validate |
Notas de actualización
Durante la actualización, si la propiedad Style de un control Listbox de Visual Basic 6.0 está establecida en 1 – Checkbox, se actualiza al control CheckedListBox; en caso contrario, se actualiza al control ListBox.
Vea también
Referencia
Información general sobre ListBox (Control, formularios Windows Forms)
Información general sobre ListBox (Control, formularios Windows Forms)
Información general sobre el control CheckedListBox (formularios Windows Forms)