Hola a todos,
He abierto este tema para ver si pueden ayudarme (ojalá que si).
En una aplicación de ventana (Windows Form) agregué un DataGridView, un TextBox y un Botón, la función de este último es que busque el valor del TextBox en un archivo de texto (*.txt).
Una vez que realiza la búsqueda, si se encontró resultados estos aparecerán en el DataGridView, de lo contrario solo mostrará un MessageBox diciendo que no hubo coincidencias con la búsqueda.
Si se deja vacío el TextBox y se presiona dicho botón de buscar, aparecerá un MessageBox diciendo que debería al menos escribir una palabra a buscar.
Todo el código funciona de maravilla, sin embargo, cuando se presiona el botón Buscar sin haber escrito nada en el TextBox, me aparece el MessageBox pero al pasar el mouse en cualquiera de las celdas del DataGridView me marca el siguiente error:
El código del evento click del botón es el siguiente:
private void btBuscar_Click(object sender, EventArgs e)
{
Contact0.contactos.Clear();
string palabra = tbBuscar.Text;
string busco = "no";
if (palabra == "")
{
MessageBox.Show("¡Escribe por lo menos una palabra a buscar!");
return;
}
else
{
string archivo = Directory.GetCurrentDirectory() + "\\contactos.txt";
StreamReader sr = new StreamReader(archivo, Encoding.Default);
string texto;
while ((texto = sr.ReadLine()) != null)
{
if (texto.ToLower().IndexOf(palabra.ToLower()) != -1)
{
i = new Contact0();
string[] split = texto.Split(new char[] { '~' }, 7);
i.Nombre = split[0];
i.Domicilio = split[1];
i.Contacto = split[2];
i.TelCasa = split[3];
i.TelOficina = split[4];
i.Celular = split[5];
i.Correo = split[6];
Contact0.contactos.Add(i);
split = null;
busco = "si";
}
}
sr.Close();
}
if (busco == "si")
{
dataGridView1.DataSource = null;
dataGridView1.DataSource = Contact0.contactos;
}
else
MessageBox.Show("No se encontró ninguna coincidencia con la palabra: " + palabra);
}
}
Espero que puedan ayudarme.
Gracias.