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