SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: kancerman en Domingo 6 de Marzo de 2011, 05:30

Título: listbox
Publicado por: kancerman en Domingo 6 de Marzo de 2011, 05:30
una consulta para los maestros los listbox tienen alguna propiedad que guarde el valor de cada item aparte del text, lo que quiero es lo siguiente
en un listbox muestro los archivos de un directorio , lo cual lo tengo echo pero por motivos de diseño no quiero que muestre la ruta pero al seleccionar el archivo si ocupo la ruta de este por lo tanto no se si se podra guardar en alguna parte del listbox esa informacion sin mostrarla, no se si me entienden me enrede un poco
por ejemplo un archivo "c:archivo.txt" pero quiero mostrar solo "archivo.txt" pero tambien necesito utilizar la ruta completa

gracias
Título: Re: listbox
Publicado por: Josselo en Domingo 6 de Marzo de 2011, 17:06
Supongo que lo que quieres es separar en texto...
es este caso la url o esa direccion...

si se puede pero mejor no seria que listes solo olos nombres adecuados y en el evento click del listbox concatenar con la direccion seria mas facil creo yo
Título: Re: listbox
Publicado por: gabio2 en Domingo 6 de Marzo de 2011, 18:25
Espero este ejemplo que hize te ayude:

Código: C#
  1.  
  2.  private void Form1_Load(object sender, EventArgs e)
  3.         {
  4.             ListViewItem _item = new ListViewItem();
  5.             _item.SubItems[0].Text = "ARCHIVO.TEXT";
  6.             _item.SubItems.Add("C:\Archivo.TXT");
  7.             this.listBox1.Items.Add(_item);
  8.             _item = new ListViewItem();
  9.             _item.SubItems[0].Text = "Musica.mp3";
  10.             _item.SubItems.Add("C:\Musica.mp3");
  11.             this.listBox1.Items.Add(_item);
  12.             this.listBox1.DisplayMember = _item.SubItems[0].Text;
  13.         }
  14.  
  15.   private void listBox1_DoubleClick(object sender, EventArgs e)
  16.         {
  17.             if (this.listBox1.SelectedItem != null)
  18.             {
  19.                 label1.Text = ((ListViewItem)this.listBox1.SelectedItem).SubItems[1].Text;
  20.             }
  21.         }
  22.  
  23.  

Pruebalo, corre en el evento LOAD de un formulario.. :).. y cuando le das DOBLE CLIC a algún item del Listbox se ejecuta el evento DoubleClick el cual le pasa el valor real que tu le hayas puesto a al .TEXT de un label...

Esta es solo UNA manera de hacerlo, igual podrias llenar un DataTable.. y pasarselo como DataSource.. ... uff! ay muchas maneras de hacerlo.. yo escogí esta. :)..  un saludo.. suerte!
Título: Re: listbox
Publicado por: kancerman en Domingo 6 de Marzo de 2011, 22:12
muchas gracias a ambos por las respuestas la verdad lo hice como lo recomendo josselo llene el listbox con los nombres solamentey en el evento click agrege la ruta pero el ejemplo de gabio 2 igual lo utilize solo para aprender ya que no habia ocupado nunca el listview y veo que es muy util

muchas gracias a ambos