Ver Mensaje Individual
  #8 (permalink)  
Antiguo 02/10/2009, 14:23
gublym
 
Fecha de Ingreso: noviembre-2008
Mensajes: 18
Antigüedad: 16 años
Puntos: 0
Respuesta: lograr efecto google search box

Te mando un ejemplito que hace mas o menos lo que pides, ahi lo checas y nos comentas como te fue...

Código:
        private void button1_Click(object sender, EventArgs e)
        {
            //Aqui realizas la acion que necesites y por ultimo ocultas el listbox
            if (listBox1.Visible == true)
            {
                listBox1.Visible = false;
            }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            //Limpiamos el Listbox
            listBox1.Items.Clear();

            string[] lista = new string[10];
            //Cargas el String con tus coincidencias
                       
            lista[0] = "Mc Laren";
            lista[1] = "Mastreta MXT";
            lista[2] = "Ferrari";
            lista[3] = "Lamborghini Gallardo";
            lista[4] = "Lamborghini Diablo";
            lista[5] = "Skyline";
            lista[6] = "Porshe Carrera GT";
            lista[7] = "Ford GT40";
            lista[8] = "Bugatti Veyron";
            lista[9] = "Ford Mustang GT500";
                        
            int size = 0; //este lo agarramos para pintar el tamaño del listbox
            string muestra;// para agregar datos al listbox

            for (int i = 0; i < lista.Length; i++)
            {
                if (textBox1.Text == "")
                {}
                else
                    try
                    {
                        //Compara si lo que estas escribiendo es igual a algo dentro de
                        //las coincidencias
                        if (String.Compare(lista[i].Substring(0, textBox1.Text.Length),textBox1.Text, true) == 0)
                        {
                            muestra = lista[i];
                            size++;
                            listBox1.Items.Add(muestra); //Agrega las coincidencias
                        }
                    }
                    catch
                    { }
            }

            //Yo lo multiplico por 15 y me forma bien el listbox
            size = size * 15;
            //El primer entero(168) es el tamaño de mi texbox ahi lo cambias por el
            //de tu texbox
            listBox1.Size = new System.Drawing.Size(168, size);
            //Hacemos visible el Listbox con las coincidencias encontradas
            listBox1.Visible = true;
        }
nadamas lo unico que falta, es que al momento de presionar el keydown, se seleccione la lista...pero eso ia lo checas tu...de todos modos ahi nos avisas como te fue con el code...

P.D. Disculpa que el code esta en C#, pero pos ahi nomas lo pasas