elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Mostrar elemento seleccionado en listbox
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Mostrar elemento seleccionado en listbox  (Leído 723 veces)
rigorvzla

Desconectado Desconectado

Mensajes: 183


Ver Perfil
Mostrar elemento seleccionado en listbox
« en: 7 Agosto 2020, 03:15 »

Hola a todos, paso por aqui con un problemilla que no le encuentro solucion, ocurre que tengo un listobox con una cantidad de datos, que ocurre , al yo seleccionar un elemento por codigo (no haciendo click) usando la propiedad SelectIndex , me selecciona el elemento, si muy bien, el problema radica en que cuando el elemento que selecciono esta fuera de vista por ejemplo es el penultimo yo debo bajar con la barra de scroll para poder verlo seleccionado, lo que necesito y no se hacerlo , es que al ser seleccionado el elemento, la vista del listbox valla de manera automatica y me muestre el elemento seleccionado.

Espero puedan ayudarme y de antemano gracias.


En línea

EdePC
Colaborador
***
Desconectado Desconectado

Mensajes: 1.318



Ver Perfil
Re: Mostrar elemento seleccionado en listbox
« Respuesta #1 en: 7 Agosto 2020, 05:01 »

Acabo de probar lo siguiente y no he tenido problemas, quizá tengas que poner un ejemplo que replique tu problema...

Código
  1. using System;
  2. using System.Windows.Forms;
  3.  
  4. namespace WindowsFormsApplication1 {
  5.    public partial class Form1 : Form {
  6.        public Form1() {
  7.            InitializeComponent();
  8.            listBox1.Items.Add("cero");
  9.            listBox1.Items.Add("uno");
  10.            listBox1.Items.Add("dos");
  11.            listBox1.Items.Add("tres");
  12.            listBox1.Items.Add("cuatro");
  13.            listBox1.Items.Add("cinco");
  14.        }
  15.  
  16.        private void button1_Click(object sender, EventArgs e) {
  17.            listBox1.SelectedIndex = 5;
  18.        }
  19.    }
  20. }
  21.  

- Lo pruebo dándole click al botón y automáticamente me selecciona el "cinco" desplazando el ScrollBar automáticamente. Estoy usando Visual C# 2008 Express.


En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.216

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Mostrar elemento seleccionado en listbox
« Respuesta #2 en: 7 Agosto 2020, 05:29 »

no has puesto que lenguaje estás usando, ni una línea de código, ahora suponiendo que sea vb.net:
Código
  1. ListBox1.SetSelected(9, True)' donde 9 puede ser reemplazado obviamente por una variable
  2.  
En línea

rigorvzla

Desconectado Desconectado

Mensajes: 183


Ver Perfil
Re: Mostrar elemento seleccionado en listbox
« Respuesta #3 en: 7 Agosto 2020, 15:40 »

cierto el lenguaje es C# , WPF
el detalle es que cuando coloco seteo el index , lo selecciona mas no, me muestra el lugar, me explico mejor, el listbox tiene 10 elementos, pero el tamaño solo muestra 5 , si selecciono por, selectindex el elemento 9, en efecto lo selecciona, mas NO me muestra de maera visible en la lista el elemento, osea esta seleccionado pero yo debo de bajar con el scroll hasta llegar al elemento seleccionado y es estop lo que necesito que se haga de manera automatica
En línea

EdePC
Colaborador
***
Desconectado Desconectado

Mensajes: 1.318



Ver Perfil
Re: Mostrar elemento seleccionado en listbox
« Respuesta #4 en: 7 Agosto 2020, 16:23 »

No uso WPF porque consume tres veces más recursos que Windows Forms :xD, aunque el primero es más "flexible".

Pues si que es cierto, WPF no desplaza automáticamente el Scroll, esto se tiene que hacer manualmente al final:

Código
  1. listBox1.SelectedIndex = 5;
  2. listBox1.ScrollIntoView(listBox1.SelectedItem);
En línea

rigorvzla

Desconectado Desconectado

Mensajes: 183


Ver Perfil
Re: Mostrar elemento seleccionado en listbox
« Respuesta #5 en: 7 Agosto 2020, 22:58 »

muchas gracias , investigando di con la misma solucion EdePC , no saben el tiempo que estuve buscando esta solucion, muy agradecido por la ayuda prestada.  ;-)  ;-)  ;-)
En línea

EdePC
Colaborador
***
Desconectado Desconectado

Mensajes: 1.318



Ver Perfil
Re: Mostrar elemento seleccionado en listbox
« Respuesta #6 en: 8 Agosto 2020, 01:51 »

Visual Studio es de los mejores IDEs que hay, basta con poner un punto e Intelisense autocompleta con lujo de detalles, basta con ir bajando y leyendo uno a uno. Mira que yo ni enterado de esta posibilidad, solo puse ListBox1. y empecé a leer ... Y eso que yo manejo el Visual Studio 2008 Express XD.
En línea

NEBIRE


Desconectado Desconectado

Mensajes: 2.308


Ver Perfil
Re: Mostrar elemento seleccionado en listbox
« Respuesta #7 en: 8 Agosto 2020, 17:57 »

en C# al igual que en VB, existe la propiedad de lectura y escritura 'Topindex', para el listbox, que señala el índice del elemento que aparece en primera línea del listbox.
Naturalmente ese índice solo puede ser mantenido (se trunca en caso contrario) si hay suficientes elementos para rellenar por completo la vista del listbox... es decir si solo hay 5 elementos y en la vista caben 15, topindex solo puede ser 0, igualmente si hay 40 elementos y la vista aloja 15, el topindex, solo puede elegirse en el rango 0-(39-15) = 0-24

Código
  1. listBox1.TopIndex = 24;
  2. listBox1.TopIndex = listBox1.SelectedIndex;
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines