Un pequeño ejemplo de como crear un login utilizando una base de datos. Desarrollo: Necesitamos crear dos formularios el primero llamado Login, el segundo Principal que será al que queremos acceder si la contraseña es correcta. Para el login necesitamos crear el formulario tal como se muestra en la imagen principal: Teniendo siempre en cuanta que se debe de cambiar la propiedad name a cada uno de los controles, para poder tener mayor control sobre el formulario cuando se esta programando. En forma de validación he dejado la propiedad Eenable del botón iniciar en False esto servirá para no ejecutar el codigo que se encuentra en el sin antes tener llenos los textbox, de lo contrario dara un error. Para el formulario Principal: Este formulario no tiene ninguna función especial nada mas sirve para poder verificar que el login se ha hecho correctamente. En el caso de crear un sistema este podría ser el menú principal un formulario MDI por ejemplo. Pero basta con este para hacer la demostración. CODIFICACIÓN Crear la base de datos, la tabla con sus campos y llenando con un registro por lo menos. Al descargar el proyecto trae el scrip de la base de datos. Se puede ejecutar y listo(Por defecto el usuario es fernando y la contraseña es pepito). NOTA en el código esta la conexión a la base de datos ese código es suficiente para que pueda funcionar en cualquier computadora. Formulario Login: 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; using System.Linq; 6 using System.Text; 7 using System.Windows.Forms; 8 using System.Data.SqlClient;//necesario para poder acceder a SQL 9 namespace Login 10{ 11public partial class Form1 : Form 12{ 13public Form1() { 14 InitializeComponent(); 15} 16private void btnIniciar_Click(object sender, EventArgs e) 17{ 18try 19{ 20//creando la conexion 21SqlConnection miConecion = new SqlConnection(@"server=.\SQLEXPRESS; Initial Catalog = loginbd; 22Integrated Security=True;"); //abriendo conexion 23miConecion.Open(); 24SqlCommand comando = new SqlCommand("select usuario, contraseña from Tblusuario where usuario = '" 25+ txtusuario.Text + "'And contraseña = '" + txcontraseña.Text + "' ", miConecion); 26//ejecuta una instruccion de sql devolviendo el numero de las filas afectadas 27comando.ExecuteNonQuery(); 28DataSet ds = new DataSet(); 29SqlDataAdapter da = new SqlDataAdapter(comando); 30//Llenando el dataAdapter 31da.Fill(ds, "Tblusuario"); //utilizado para representar una fila de la tabla q necesitas en este caso usuario 32DataRow DR; 33DR = ds.Tables["Tblusuario"].Rows[0]; 34//evaluando que la contraseña y usuario sean correctos 35if ((txtusuario.Text == DR["usuario"].ToString()) || (txcontraseña.Text == 36DR["contraseña"].ToString())) 37{ 38//instanciando el formulario principal 39Principal frmPrincipal = new Principal(); frmPrincipal.Show();//abriendo el formulario principal 40 this.Hide();//esto sirve para ocultar el formulario de login 41} 42} 43catch 44{ 45//en caso que la contraseña sea erronea mostrara un mensaje 46//dentro de los parentesis va: "Mensaje a mostrar","Titulo de la ventana",botones a mostrar en ste 47caso OK, icono a mostrar en este caso uno de error 48MessageBox.Show("Error! Su contraseña y/o usuario son invalidos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 49} 50} 51private void btnCancelar_Click(object sender, EventArgs e) 52{ 53//Salir de la aplicacion 54Application.Exit(); 55} 56private void txtusuario_TextChanged(object sender, EventArgs e) 57{ //aca se activa el boton INICIAR 58btnIniciar.Enabled = true; 59} 60} 61} 62 63 64 65 66 67 68 69 70 71 72 73 Para el Formulario principal en el boton salir nada mas: Application.Exit();