Visual Basic.NET - Problemas con Combobox

   
Vista:

Problemas con Combobox

Publicado por agustin (24 intervenciones) el 08/03/2015 17:09:01
Hola, alguien sabe como narices puedo hacer esto...

Tengo un combobox que al cargarlo hago que en el text se muestre un texto diferente al de los items que contiene el mismo. Para ello en el Form_Load cargo el combobox de la siguiente manera:

combobox1.items.add("Hola (1/1/1)"
combobox1.items.add("Adios (1/1/1)"
combobox1.text="Hola"

El problema lo tengo cuando al desplegar el combobox y seleccionar otro item, por ejemplo el segundo ("Adios (1/1/1)"), no puedo cambiar el valor del text del combobox mediante combobox1.text="xxx" ya que se asigna siempre el valor del item seleccionado.

Vengo de vb6 y lo que quiero hacer se podía hacer sin ningún problema. No domino mucho vb.net así que agradecería mucho la ayuda de alguien

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problemas con Combobox

Publicado por omar pcc.nett.2018@hotmail.com (151 intervenciones) el 08/03/2015 18:46:35
Para agregar un dato en el combobox
se usa .add("hola")

no uses el text para mostrar un dato

si el elemento que deseas mostrar esta en la lista del combobox

especificate el dato existente

combo.selectet.text="hola"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas con Combobox

Publicado por agustin navarro serras (24 intervenciones) el 08/03/2015 19:58:31
Hola
Gracias por tu respuesta pero no acabo de entender.
El texto que quiero mostrar en el combobox no está en la lista, o mejor dicho, es una parte del de la lista. Por ejemplo, si en la lista selecciono: "Adios (1/1/1)" entonces quiero que se muestre sólo "Adios".
Por favor, agradeceria vuestra ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Didier

Problemas con Combobox

Publicado por Didier (7 intervenciones) el 08/03/2015 19:55:05
Hola Amigo Yo te recomiendo que cambia tu version de visual basic a la 2010

y ando trabajado en tu problema esperame 1 hora
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas con Combobox

Publicado por agustin (24 intervenciones) el 08/03/2015 20:07:09
Hola
Estoy utilizando la version 2013 express
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Didier

Problemas con Combobox

Publicado por Didier (7 intervenciones) el 08/03/2015 20:20:28
Bueno quieres cambia el texto de Comboxbox seleccionado,utiliza el siguiente codigo y dime si funciona

1
2
ComboBox1.Items.RemoveAt(0)               -------> Eliminna el items que tenga
 ComboBox1.Items.Add(ComboBox1.Text)------->añade un items con el texto que tenga el combox
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas con Combobox

Publicado por agusti (24 intervenciones) el 08/03/2015 21:29:05
Hola
No me funciona. Lo que quiero es mantener los mismos items en el combobox y sólo cambiar el que muestro en la propiedad text del combobox, es decir, cuando esta plegado.
Por favor haber si podemos hacerlo
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Didier

Problemas con Combobox

Publicado por Didier (7 intervenciones) el 08/03/2015 22:34:03
anda haciendo algo asi
imagen
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Didier

Problemas con Combobox

Publicado por Didier (7 intervenciones) el 08/03/2015 22:41:48
Y dime que funcion quiere q haga tu aplicacion

1
2
3

Aqui tengo otra manera necesita un textbox y un button

codigos
1
ComboBox1.Text = TextBox1.Text

con este codigo el text que este en el textbox se lo escribe a ComboxBox
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas con Combobox

Publicado por agusti (24 intervenciones) el 08/03/2015 22:45:11
Perdona por la insistencia pero creo que no nos entendemos
Lo que quiero es esto:
Por ejemplo en mi combobox tengo los siguientes ítems:
Hola 123
Adios 123
Cuando yo selecciono cualquiera de ellos (al desplegar el combobox) quiero que en el combo (combobox.text) se muestre la parte alfanumérica sólo:
Por ejemplo si selecciono “Hola 123” quiero que se muestre “Hola”.
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Didier

Problemas con Combobox

Publicado por Didier (7 intervenciones) el 09/03/2015 05:36:03
deja le pregunto a un programador profesional
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas con Combobox

Publicado por agusti (24 intervenciones) el 09/03/2015 09:01:26
ok, haber si podemos solucionarlo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas con Combobox

Publicado por Horroroso (46 intervenciones) el 09/03/2015 17:04:15
Hola, te paso la solucion:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Public Class Form1
    Dim Lista1() As String = {"Uno", "Dos", "Tres", "Cuatro", "Cinco"}
    Dim Lista2() As String = {"Uno 1", "Dos 2", "Tres 3", "Cuatro 4", "Cinco 5"}
 
    Delegate Sub MiDelegate(ByVal Control As ComboBox, ByVal Indice As Integer)
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ComboBox1.DataSource = Lista2
 
    End Sub
 
    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        Dim Indice As Integer
        Dim Arreglo(1) As Object
 
        If ComboBox1.SelectedIndex > -1 Then
            Indice = ComboBox1.SelectedIndex
            Arreglo(0) = ComboBox1
            Arreglo(1) = Indice
            Me.BeginInvoke(New MiDelegate(AddressOf MetodoDelegado), Arreglo)
        End If
 
    End Sub
 
    Public Sub MetodoDelegado(ByVal TheControl As ComboBox, ByVal Indice As Integer)
        ComboBox1.Text = Lista1(Indice)
    End Sub
End Class

Si tienes duda avisame.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Didier

Problemas con Combobox

Publicado por Didier (7 intervenciones) el 09/03/2015 17:18:09
Funciona

https://social.msdn.microsoft.com/Forums/es-ES/home

y una vez le paso este foro de visual basic de microsoft aqui se encuentra mas facil las respuestas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas con Combobox

Publicado por agusti (24 intervenciones) el 09/03/2015 18:45:25
Hola
Muchísimas gracias por la ayuda. Funciona perfectamente. Voy a intentar adaptarlo a un combobox enlazado a un datatable y le comento.
Muchísimas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas con Combobox

Publicado por agusti (24 intervenciones) el 09/03/2015 20:27:21
Hola
Estoy intentando adaptar el codigo a mis necesidades y tengo algun que otro problema.
Si utilizo el combobox enlazado a un datatable no me funciona. ¿Como sería?
He hecho lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Public Class Form1
 
     Delegate Sub MiDelegate(ByVal Control As ComboBox, ByVal Indice As Integer)
 
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
   ComboBox1.DataSource = dt
   ComboBox1.DisplayMember = "Nombre2" (Corresponderia a Lista2())
   ComboBox1.ValueMember = "Nombre" (Corresponderia a Lista1())
 
End Sub
 
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
 
   Dim Indice As Integer
   Dim Arreglo(1) As Object
   If ComboBox1.SelectedIndex > -1 Then
      Indice = ComboBox1.SelectedIndex
     Arreglo(0) = ComboBox1
     Arreglo(1) = Indice
     Me.BeginInvoke(New MiDelegate(AddressOf MetodoDelegado), Arreglo)
   End If
 
End Sub
 
Public Sub MetodoDelegado(ByVal TheControl As ComboBox, ByVal Indice As Integer)
ComboBox1.Text = Lista1(Indice)
End Sub
 
End Class

Por favor una última ayuda
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas con Combobox

Publicado por Horroroso (46 intervenciones) el 09/03/2015 21:51:12
Hola, en otro post te respondi algo similar,
Intenta con:
1
2
3
ComboBox1.DisplayMember = "Nombre2" (Corresponderia a Lista2())
ComboBox1.ValueMember = "Nombre" (Corresponderia a Lista1())
ComboBox1.DataSource = dt

puedes revsarlo en:
http://www.lawebdelprogramador.com/foros/Visual-Basic.NET/1485274-ValueMember-y-DisplayMember-en-Combobox.html
El orden es importante.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas con Combobox

Publicado por agusti (24 intervenciones) el 10/03/2015 13:02:33
Lo siento no lo había visto. Funciona perfectamente!!!
Muchísimas gracias por la ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas con Combobox

Publicado por agusti (24 intervenciones) el 10/03/2015 20:08:37
Siguiendo con el mismo tema quisiera aprovechar para preguntar lo siguiente:

Como que parece que no existe la posibilidad de hacer un combobox de doble columna, para solucionarlo lo que hago es crear un campo adicional (Campo) en el datatable con la información deseada y éste lo enlazo al displaymember del combobox. El tema es que me gustaría que la información se mostrara alineada de la siguiente forma:

Resultado1::::::::::::Adicional1
Resultado2::::::::::::Adicional2
Resultado3::::::::::::Adicional3
Resultado4::::::::::::Adicional4

El problema es que como el valor del resultado es variable, el campo adicional no queda alineado. Para solucionar hago lo siguiente:
Campo=Resultado.PadRight(30) & Adicional (en teoría esto haría que el Resultado1 se llenara de espacios en blanco hasta llegar a la longitud de 30, y a partir de ahí se insertara en valor Adicional1.
Pues bien, aún así no consigo alinear todos los valores Adicional ya que depende del texto que contenga Resultado.
Por ejemplo
Pablo::::::::::::(1/1/1)
Leo::::::::::::::(1/2/2)
Paulo::::::::::::(1/1/1)

¿Hay alguna forma de conseguir lo que quiero?
Espero haberme explicado.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar