No encuentro la manera en que se cierre la pantalla de inicio de sesion aunque tenga el this.close al pulsar el boton acceder. solo cierra mediante el boton salir: aqui esta el codigo del boton acceder:
private void button1_Click(object sender, EventArgs e)
{
conexion.Open();
string consulta = "select Nombre, Contraseña, Tipo_usuario from Usuarios where Nombre_usuario='"+txtnomusuario.Text+"' and Contraseña= '"+txtcont.Text+"' ";
SqlCommand comando = new SqlCommand(consulta,conexion);
lector= comando.ExecuteReader();
if(lector.HasRows == true)
{
MessageBox.Show("Bienvenido");
}
if (!(lector.Read()))
{
conexion.Close();
MessageBox.Show("El nombre de usuario o contraseña son incorrectos", "Aviso");
lector.Close();
Limpiar();
return;
}
else{
string tipous = lector.GetString(2);
FRMmenu fRMmenufRMmenu = new FRMmenu();
fRMmenufRMmenu.TypeUser = tipous;
fRMmenufRMmenu.Show();
Limpiar();
this.close();
conexion.Close();
}
}
Prueba así:
private void button1_Click(object sender, EventArgs e)
{
conexion.Open();
string consulta = "select Nombre, Contraseña, Tipo_usuario from Usuarios where Nombre_usuario='" + txtnomusuario.Text + "' and Contraseña= '" + txtcont.Text + "' ";
SqlCommand comando = new SqlCommand(consulta, conexion);
SqlDataReader lector = comando.ExecuteReader();
if (lector.HasRows)
{
if (lector.Read()) // Leemos la primera fila
{
MessageBox.Show("Bienvenido");
string tipous = lector.GetString(2); // Obtenemos el tipo de usuario de la fila actual
FRMmenu fRMmenu = new FRMmenu();
fRMmenu.TypeUser = tipous;
fRMmenu.Show(); // Muestra el formulario del menú
this.Close(); // Cierra el formulario actual de inicio de sesión
}
}
else
{
MessageBox.Show("El nombre de usuario o contraseña son incorrectos", "Aviso");
Limpiar();
}
lector.Close(); // Cerramos el lector y la conexión
conexion.Close();
}