Uso de Combobox

[Cerrado]
Denunciar
-
 angel -
Hola,

recien empiezo en el mundo de Visual Basic y aun no puedo comprender la mecanica de este objeto y me gustaria que alguien me lo aclarara, pues veran, el codigo de mi programa es este:

Private Sub cmdresultado_Click()
Dim combo1 As Integer
Select Case combo1.Values
Case ROJO
combo1 = 10
Case NEGRO
combo1 = 15
Case AZUL
combo1 = 20
Case Else
combo1 = 0
End Select
txtTotal.Text = combo1.Values
End Sub

Private Sub Form_Load()
combo1.AddItem "ROJO"
combo1.AddItem "NEGRO"
combo1.AddItem "AZUL"

End Sub

No se ni que esta bien, ni que esta mal, lo que yo quisiera hacer es elegir uno de estos tres colores y que atravez de un Command me saliera el valor del color elegido en un text, digamos que elijo el negro y como resultado me diera 15, ya se que es algo tonto de preguntar pero creanme que no entiendo muy bien esto. Agradeceria mucho si alguien me explicara

2 respuestas

Estimado Angel

Antes que avanzar en el análisis de tu consulta te aconsejaria que leas los conceptos iniciales para ir entendiendo el mundo de la programación (clases/objetos/propiedades/métodos/ un poco de todo eso... como si fuera tan poco no?...) pues de lo contrario te resultara un poco confuso y te desorientaras bastante en cosas que no son tan complicadas si las hubieras conceptualizado antes. ok.

En este caso estas tratando con un control combobox que en realidad es una combinación entre un textbox y un listbox ya que te presenta una serie de items que los podes tipear en el recuadro para facilitar la búsqueda

Al ser una serie tiene la caracteristica de empezar con el indice 0 para el primer elemento, luego 1 y asi sucesivamente por cada nuevo item que le vas agregando. Por ello podes seleccionar y saber de acuerdo a su indice cual es el orden del elemento, por ejemplo para borrar o agregar otros más si es necesario.

Cuando mencionas combo1.additem "ROJO" lo que haces es poner el objeto "Rojo" en la primer posición de tu lista cuyo indice es 0

para combobox deberias agregar elementos asi:
comboBox1.Items.Add("Item 1" + i.ToString()) o directamente por el formulario en las propiedades de Agregar item.

Para saber que item se escogio podes consultarlo

Select Case cint(comboBox1.selectvalue)
Case 0
txtColor.tex = "Rojo"
Case 1
....
End Select

Depende como quieras manejarlo estaría bien tratar el caso con un combobox o podes crear tus propios tipos de datos como ser estructuras donde definis pares de valores de la forma que vos queres que esten relacionados (ya que mencionaste que el querías que el NEGRO sea 15 en tu caso) pero bueno son varias las alternativas para comentarte como solución.

Saludos.

Alex
Arg.
al hacerlo asi me dice que requiere un objeto:

Private Sub Form_Load()
combobox1.Items.Add ("Item 1" + i.ToString(rojo, negro))
Select Case CInt(combobox1.selectvalue)
Case 0
txtColor.tex = "Rojo"
combobox1.SelectedIndex = 10
Case 1
txtColor.tex = "negro"
combobox1.SelectedIndex = 15
End Select
End Sub