Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

ListBox sin selección
#1

Buenas tardes a todos,
tengo un componente que es un ListBox con unos items y su correspondiente Tag[Id], bien quiero dada una acción dejar la selección que hay inicializada, que quiero decir con esto, que si el usuario ha seleccionado un item del listbox y se pulsa el botón LIMPIAR el listbox debe quedar sin elemento seleccionado.
Bien dicho esto, pensaba que con un ListBox1.Index = -1 podía realizar esta acción, cual es mi sorpresa cuando al ejecutar el programa me dice 'Fuera de los limites'

Alguna idea de como resetear el componente listbox, ¡ojo resetear solo la selección para se quede sin seleccionar ningún item! porque el tema .clear no es lo que estoy buscando como casuística.


Saludos
    ¡Gracias!
#2

Si el combobox está vacío, ¿cómo es que queda algo seleccionado? 

En cualquier caso, para "deseleccionar" ítems, hay un método concreto:

https://gambaswiki.org/wiki/comp/gb.qt4/...nselectall

Eso debería funcionar.

Saludos

Por favor, usa el corrector ortográfico antes de pulsar el botón 'Enviar'
    ¡Gracias!
#3

(04-08-2020, 19:12)calcena escribió:  Bien dicho esto, pensaba que con un ListBox1.Index = -1 podía realizar esta acción, cual es mi sorpresa cuando al ejecutar el programa me dice 'Fuera de los limites'
 
ListBox contiene los "ítem" en modo indexado, como un array.
...desde cuándo los array tienen valores de índice inferiores a cero? Sad

"Los horizontes perdidos nunca regresan. " (F. Battiato, La stagione dell'amore, 1983)

"Las ondas nunca regresan. " (Genesis: Ripples - A trick of the tail, 1976)
    ¡Gracias!
#4

Gracias
pues no habia contemplado el tema unselectall, vaya vista.
Por otra parte en .net el index -1 si que hace deseleccionar un control de este tipo, pensaba que podía hacer algo parecico.

Saludos
    ¡Gracias!
#5

Hola, calcena

Prueba a ver si te sirve:

GAMBAS
  1. lstDescripciones[lstDescripciones.Index].Selected = Select.None



Saludos Smile
    ¡Gracias!
#6

(04-08-2020, 20:47)calcena escribió:  Por otra parte en .net el index -1 si que hace deseleccionar un control de este tipo...

uhmmm... no conozco .net, ...pero aquel -1 a mi parece, se muestra como si fuera no un real numero de indice, sino un particular valor, para que el recurso - al que está asignado - sepa que debe realizar una acción (...deseleccionar un control). Dodgy

"Los horizontes perdidos nunca regresan. " (F. Battiato, La stagione dell'amore, 1983)

"Las ondas nunca regresan. " (Genesis: Ripples - A trick of the tail, 1976)
    ¡Gracias!
#7

no se si es el mismo tema pero yo con la ultima actualización de gambas el programa visorrv1960 me tira error al ejecutar listbox.clear

El tiempo de las manifestaciones caducó pero el boicot con auto sacrificio es el camino para derrotar al sistema.
    ¡Gracias!
#8

¿Es esto lo que estás buscando? Ejecute el código en una aplicación GUI.

GAMBAS
  1. ListBox1 As ListBox
  2. HBox1 As HBox
  3. Label1 As Label
  4. ButtonClean As Button
  5. ButtonRestore As Button
  6.  
  7. Public Sub Form_Open()
  8.  
  9.   With Me
  10.     .H = 448
  11.     .W = 448
  12.     .Arrangement = Arrange.Vertical
  13.     .Padding = 5
  14.  
  15.   With ListBox1 = New ListBox(Me) As "ListBox1"
  16.     .Expand = True
  17.     .List = Dir(User.Home, "[^.]*", gb.Directory)
  18.  
  19.   HBox1 = New HBox(Me)
  20.   HBox1.H = 28
  21.  
  22.   With ButtonRestore = New Button(HBox1) As "ButtonRestore"
  23.     .W = 98
  24.     .Text = "&Restore"
  25.     .Picture = Picture["icon:/22/redo"]
  26.  
  27.   With Label1 = New Label(HBox1)
  28.     .Alignment = Align.Center
  29.     .Alignment = Align.Bottom
  30.     .Expand = True
  31.     .Font.Size = 7
  32.     .Text = "Charlie Ogier Software 2020"
  33.  
  34.   With ButtonClean = New Button(HBox1) As "ButtonClean"
  35.     .W = 98
  36.     .Text = "&Clean"
  37.     .Picture = Picture["icon:/22/clear"]
  38.  
  39.  
  40. Public Sub ButtonClean_Click()
  41.  
  42.   Dim sArray As String[] = ListBox1.List
  43.  
  44.   If ListBox1.Index = -1 Then Return
  45.  
  46.   sArray.Extract(ListBox1.Index, 1)
  47.   ListBox1.List = sArray
  48.  
  49.  
  50. Public Sub ButtonRestore_Click()
  51.  
  52.   ListBox1.List = Dir(User.Home, "[^.]*", gb.Directory)
  53.  


    ¡Gracias!
#9

(05-08-2020, 00:15)vuott escribió:  
(04-08-2020, 20:47)calcena escribió:  Por otra parte en .net el index -1 si que hace deseleccionar un control de este tipo...

uhmmm... no conozco .net, ...pero aquel -1 a mi parece, se muestra como si fuera no un real numero de indice, sino un particular valor, para que el recurso - al que está asignado - sepa que debe realizar una acción (...deseleccionar un control). Dodgy


Tal como sería en .net: ListaEquiposListBox.SelectedIndex = -1;
Yo he hecho una mezcla de todo junto.
Gracias.
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje
Último mensaje por vuott
23-09-2020, 16:54

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)