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

Des-seleccionar item en listbox

Estas en el tema de Des-seleccionar item en listbox en el foro de .NET en Foros del Web. Hola! Estoy trabajando con Visual Basic 2008 y me preguntaba como hacer para que, si en un listbox se hace clic en un lugar donde ...
  #1 (permalink)  
Antiguo 21/02/2012, 15:38
Avatar de BillieBert  
Fecha de Ingreso: diciembre-2011
Mensajes: 37
Antigüedad: 12 años, 4 meses
Puntos: 1
Sonrisa Des-seleccionar item en listbox

Hola! Estoy trabajando con Visual Basic 2008 y me preguntaba como hacer para que, si en un listbox se hace clic en un lugar donde no hay ningun item, la selección desaparezca, es decir...

Si hay un item seleccionado, y luego doy clic dentro del listbox pero donde di clic no hay ningún item, que la selección del item actual desaparezca.

No se como explicarlo mejor, espero que me entiendan y puedan ayudar.

Saludos y gracias!
__________________
La religión y la política pasaron de moda. Lo de hoy es el arte y el idealismo.
  #2 (permalink)  
Antiguo 22/02/2012, 03:43
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Des-seleccionar item en listbox

Puedes usar el método IndexFromPoint para averiguar si donde has pulsado hay un elemento y en caso negativo, deseleccionar todos los elementos utilizando el método ClearSelected. Luego le añades el evento MouseClick al ListBox y desde ahí obtienes donde ha pulsado con el ratón y actuas en consecuencia

Código VB:
Ver original
  1. Private Sub ListBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseClick
  2.    
  3.   Dim index As Integer
  4.    ListBox list = CType(sender,ListBox);
  5.    If (e.Button = Windows.Forms.MouseButtons.Left) Then
  6.      index  = list.IndexFromPoint (e.Location)
  7.      If (index = ListBox.NoMatches) Then
  8.       list.ClearSelected();
  9.      End If
  10.     End If
  11. End Sub
  #3 (permalink)  
Antiguo 22/02/2012, 11:48
Avatar de BillieBert  
Fecha de Ingreso: diciembre-2011
Mensajes: 37
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Des-seleccionar item en listbox

Perfecto!

Me funcionó luego de un par de modificaciones, ya que las lineas con ; me marcaba error.

Ahora me surgió otra duda, y es que normalmente los ítems estan ordenados de arriba hacia abajo, y donde casi siempre está vacío es en la parte de abajo. Cuando doy clic abajo, me queda marcado el item de hasta abajo, no seleccionado con azul, sino bordeado con una linea punteada. Hay alguna forma de eliminar esto?
__________________
La religión y la política pasaron de moda. Lo de hoy es el arte y el idealismo.
  #4 (permalink)  
Antiguo 22/02/2012, 14:14
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Des-seleccionar item en listbox

Pues no se como quitar ese comportamiento, pero lo de los puntos y coma es que se me había escapado de C#, que es donde programo.

Saludos y me alegro que te haya servido.

Etiquetas: item, listbox, visual
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 16:25.