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