Foros del Web » Programación para mayores de 30 ;) » .NET »

Completar ComboBox Manualmente

Estas en el tema de Completar ComboBox Manualmente en el foro de .NET en Foros del Web. Hola amigos tengo en mi Windows form un ComboBox al que necesito agregarle los item de forma manual, pero a la vez necesito agregar el ...
  #1 (permalink)  
Antiguo 05/03/2010, 22:05
 
Fecha de Ingreso: enero-2009
Mensajes: 7
Antigüedad: 10 años, 9 meses
Puntos: 0
Completar ComboBox Manualmente

Hola amigos

tengo en mi Windows form un ComboBox al que necesito agregarle los item de forma manual, pero a la vez necesito agregar el valor que retornara cada item a una variable cuando se seleccione cada uno de ellos.

es decir al crear los items:

ComboBox1.Items.Add("Autobus")
ComboBox1.Items.Add("Taxi")
ComboBox1.Items.Add("Tren")
ComboBox1.Items.Add("Avion")


luego asigno los valores asi :

If ComboBox1.SelectedItem="Autobus" Then

Transporte= "01"
else

if ComboBox1.SelectedItem="Taxi" Then

Transporte= "02"

End if
End if

como puedo hacer esto sin recurrir a instrucciones IF...Lo que necesito es que al momento de crear cada item tambien agregar el valor que retornará.

Gracias
  #2 (permalink)  
Antiguo 06/03/2010, 09:11
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 10 años, 10 meses
Puntos: 22
Respuesta: Completar ComboBox Manualmente

Lo que debes de hacer es crear un objeto que contenga toda la información que necesitas, luego puedes adicionar estos objetos al combobox, si se te presentan problemas de visualización puedes sobre escribir el metodo ToString para que te lo muestre como quieres.

Saludos
  #3 (permalink)  
Antiguo 08/03/2010, 11:50
 
Fecha de Ingreso: febrero-2010
Ubicación: in a program computer
Mensajes: 90
Antigüedad: 9 años, 7 meses
Puntos: 1
Respuesta: Completar ComboBox Manualmente

no se si es el caso...pero nunca has probado utilizar el evento TextChanged o Selected Index Changed, bueno no se si funcione en tu caso !!
  #4 (permalink)  
Antiguo 08/03/2010, 13:19
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 17 años, 8 meses
Puntos: 50
Respuesta: Completar ComboBox Manualmente

Personalmente lo que hago es crear una objeto con las propiedades que requiero, en tu caso lo que puedes hacer es una simulación de ListItem (como en asp.net) y ese objeto lo ocupas para llenar tu combo, ejemplo con vb.net que es lo que estás usando

Creas la clase ListItem (por así llamarla)

Código:
Public Class ListItem

    Private m_value As String
    Public Property Value() As String
        Get
            Return m_value
        End Get
        Set(ByVal value As String)
            m_value = value
        End Set
    End Property


    Private m_text As String
    Public Property Text() As String
        Get
            Return m_text
        End Get
        Set(ByVal value As String)
            m_text = value
        End Set
    End Property

    Public Sub New(ByVal value As String, ByVal text As String)
        m_value = value
        m_text = text
    End Sub


End Class
Y posteriormente lo llenas con algo como ésto:

Código:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ComboBox1.ValueMember = "Value"
        ComboBox1.DisplayMember = "Text"

        ComboBox1.Items.Add(New ListItem("A", "Autobus"))
        ComboBox1.Items.Add(New ListItem("TA", "Taxi"))
        ComboBox1.Items.Add(New ListItem("TR", "Tren"))
        ComboBox1.Items.Add(New ListItem("AV", "Avion"))
    End Sub
Y para obtener los datos del elemento seleccionado puedes hacer algo como ésto:

Código:
 Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        Dim li As ListItem = DirectCast(ComboBox1.SelectedItem, ListItem)

        MessageBox.Show(String.Format("El valor es = {0} con texto = {1}", li.Value, li.Text))

    End Sub
Saludos y espero que te sirva
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net

Etiquetas: combobox, manualmente
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:00.