mira aqui te va un ejemplo:
clase principal:
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace ContactCenter
{
internal class Program
{
//Declaracion de variable para ver autenticacion del usuario
public static Boolean isActive;
/// <summary>
/// Punto de entrada principal para la aplicación.
/// </summary>
[STAThread]
static void Main()
{
try
{
//Inicializo la variable en false para poder autenticar el usuario
isActive = false;Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//Corrro el formulario de login, que debe tener dos textbox uno para el login y el otro para el password
Application.Run(new ContactCenter.Vistas.frmAutenticacion());//Antes del siguiente paso (el if (isActive == true)) debes ver el codigo del manejador del evento click del boton ingresar
//Verifico si el usuario se autentico correctamente
if (isActive == true)//Verifico si el usuario se autentico correctamente
{
//Si se autentico correctamente ahora si corro el formulario siguiente
Application.Run(new ContactCenter.Vistas.frmPrincipal());}
}
catch (Exception ex)
{
MessageBox.Show("Ha ocurrido un error en la aplicación","Error en la aplicación");
Console.WriteLine(ex.Message);
}
}
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Manjador del evento click del boton ingresar
private void cmdIngresar_Click(object sender, EventArgs e)
{
try
{
//este metodo lo que hace es enviar una consulta a la BD y ver si existe el usuario de ser asi (osea que el usuario se encuentre en la BD) traera todos su datos a una clase en caso contrario no traera nada
conUsuario.cargar(txtLogin.Text.ToLower().Trim().ToString(), txtPassword.Text.ToLower().Trim().ToString());//Consulto los datos obtenidos de la consulta anterior y si si son iguales quiere decir que el usuario esta autenticado
if (conUsuario.miUsuario.login == txtLogin.Text.ToLower().Trim().ToString() && conUsuario.miUsuario.password == txtPassword.Text.ToLower().Trim().ToString()){
//de ser verdadero establesco la variable declarada e la clase principal como verdadera para saber que el usuario se ha autenticado
ContactCenter.Program.isActive = true;ContactCenter.Program.iduser = conUsuario.miUsuario.idUsuario;
//Destruyo este formulario
this.Dispose();//Ahora continua en la clase de arriba
}else
{
MessageBox.Show("No concuerda la contraseña con el usuario", "Error");
}
}
catch (Exception ex)
{
MessageBox.Show("No se ha podido ingresar a la aplicacion", "Error");
Console.WriteLine(ex.Message);
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Espero que te sirva
Suerte