A continuación tenemos un ejemplo que permitirá cargar datos a un control "combobox" desde una clase.
Con el evento SelectedIndexChange podremos recuperar los valores alojados en cada elemento del combobox.
Código fuente
Paso 1: Agregamos una clase ucComboBox
Public Class ucComboBox
Public Value As Object
Public Description As String
Public Sub New(ByVal NewValue As Object, ByVal NewDescription As String)
Value = NewValue
Description = NewDescription
End Sub
Public Overrides Function ToString() As String
Return Description
End Function
End Class
Paso 2: Cargamos los valores en el evento Load del formulario.
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
Dim Codigo() As Integer = {1, 2, 3}
Dim Productos() As String = {"Producto A", "Producto B", "Producto C"}
'Agregamos los elementos al ComboBox
For index As Integer = 0 To Productos.Length - 1
ComboBox1.Items.Add(New ucComboBox(Codigo(index), Productos(index)))
Next
ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList
Catch ex As Exception
MessageBox.Show(ex.Message, "vb.net", _
MessageBoxButtons.OK, MessageBoxIcon.Error)
MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Paso 3: Validamos el SelectedIndexChanged del combobox.
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Try
' Capturamos el items Seleccionado
Dim oCombo As ucComboBox
oCombo = ComboBox1.SelectedItem
' Asignamos los valores capturados a las cajas de texto
txtCodigo.Text = oCombo.Value
txtNombre.Text = oCombo.Description
Catch ex As Exception
MessageBox.Show(ex.Message, "vb.net", _
MessageBoxButtons.OK, MessageBoxIcon.Error)
MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End sub
End sub
No hay comentarios:
Publicar un comentario