Fijaros que tenemos un tooltip agregado a nuestro formulario. Esto nos permitira mostrar información acerca de diversos comtroles. Lo primero que vamos a hacer es crear un sub privado (fuera del evento load del formulario, pero dentro de la clase del formulario, de forma que el tooltip muestre información acerca de los botones de nuestro formulario. Lo haremos de la siguiente manera:
'Procedimiento que mueestra información sobre el botón seleccionado
Private Sub InfoLogin()
Me.ToolTip1.SetToolTip(Me.CmbRegistrarse, "Registrar nuevo usuario")
Me.ToolTip1.SetToolTip(Me.CmbIniciarSesion, "Incia sesión en la aplicación")
Me.ToolTip1.SetToolTip(Me.CmbCancelar, "Cierra la aplicación")
End Sub
Private Sub InfoLogin()
Me.ToolTip1.SetToolTip(Me.CmbRegistrarse, "Registrar nuevo usuario")
Me.ToolTip1.SetToolTip(Me.CmbIniciarSesion, "Incia sesión en la aplicación")
Me.ToolTip1.SetToolTip(Me.CmbCancelar, "Cierra la aplicación")
End Sub
Después utilizaremos el evento load de forma que a la hora de cargar el formulario, muestra esa información, además de la imagen de fondo y el icono de nuestra apliación.
Private Sub Frm_Login_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'Le colocamos el texto que queramos a nuestro formulario.
Me.Text = "Inicio de sesión de usuario - " & Now.Date
'Le colocamos el icono
Me.Icon = My.Resources.Logo
'Le colocamos la imagen de fondo a nuestro formulario
Me.BackgroundImage = My.Resources.fondo
'Ajustamos la imagen al formulario (esto tambien lo podemos hacer en tiempo de diseño cambiando
'su propiendad ImageLayout a Stretch)
Me.BackgroundImageLayout = ImageLayout.Stretch
'Aquí llamamos al procedimiento privado que creamos y que nos trae la información de cada botón
Call InfoLogin()
End Sub
'Le colocamos el texto que queramos a nuestro formulario.
Me.Text = "Inicio de sesión de usuario - " & Now.Date
'Le colocamos el icono
Me.Icon = My.Resources.Logo
'Le colocamos la imagen de fondo a nuestro formulario
Me.BackgroundImage = My.Resources.fondo
'Ajustamos la imagen al formulario (esto tambien lo podemos hacer en tiempo de diseño cambiando
'su propiendad ImageLayout a Stretch)
Me.BackgroundImageLayout = ImageLayout.Stretch
'Aquí llamamos al procedimiento privado que creamos y que nos trae la información de cada botón
Call InfoLogin()
End Sub
Ahora vamos a programar el botón de inicio de sesión. Fijaros como lo vamosa a hacer. Debemos declarar tres variables.dos que almacenaran nombre y identificación del usuario y otra que almacenara una nueva instancia de la clase que hemos creado (ConexBD). Comencemos con el código. Después de ello, en le siguiente artículo continuaremos.
Dim MisDatos As New ConexBD 'Almacenamos una nueva instancia de la clase ConexBd en la variable mis datos
Public Nombre As String 'Esta variable almacenara el nombre del usuario que inicia sesion
Public IdUsuario As Long 'Esta variable almacenará el código de identificación del usuario
'Y ahora el botón de inicio de sesión llevará el siguiente código:
Private Sub CmbIniciarSesion_Click(sender As Object, e As EventArgs) Handles CmbIniciarSesion.Click
If TxtUsuario.Text = "" Then 'Si el textbox usuario esta vacio, mostramos un mensaje
MsgBox("Debe introducir su nombre de usuario para poder inicair sesión en la aplicación" _
, vbCritical, "Introduzca un nombre de usuario")
TxtUsuario.Focus() 'devolvemos el cursor al textbox
Exit Sub 'dejamos de ejecutar codigo
ElseIf TxtClave.Text = "" Then 'Para el txtclave hacemos lo mismo
MsgBox("Debe introducir su contraseña para poder iniciar sesión en la aplicacion" _
, vbCritical, "Introduzca su clave de usuario")
TxtClave.Focus() 'Devolvemos el cursor al textbox clave
Exit Sub
End If
Try
'Si los campos tienen datos establecemos la condicion
'Si la funcion BuscarRegistros de la clase ConexBD, que esta almacenada en la variable MisDatos, devuelve true
'es que se encontraron datos
If MisDatos.BuscarRegistros("Tb_Usuarios", "NombreUsuario='" & TxtUsuario.Text & "' And ClaveUsuario ='" & TxtClave.Text & "'") Then
'si encuentra datos, almacenamos en la variables que tenemos dentro de la clase, los valores
'de las columnas ID y Nombre real del usuario que inicia sesión
IdUsuario = MisDatos.DT.Rows(0).Item(0).ToString
Nombre = MisDatos.DT.Rows(0).Item(1).ToString
Me.Hide() 'Ocultamos el formulario de inicio de sesion
Frm_Principal.Show() 'Y mostramos el formulario principal
Else 'En caso contrario, mostramos un mensaje y limpiamos los textbox
MsgBox("El usuario o la contraseña de inicio de sesión no existen o son incorrectos", vbCritical, "Inicio de sesión fallida")
TxtUsuario.Clear()
TxtClave.Clear()
TxtUsuario.Focus() 'Y devolvemos el cursor al textbox correspondiente
End If
Catch ex As Exception
MsgBox("Se ha producido un error inesperado en el inicio de sesión" & vbCr & ex.ToString, vbCritical, "Error de inicio de sesión")
End Try
End Sub
'Este es el botón más complicado de programar en este formulario. Vamos a ver el resto de botones como són, salir, o Registrarse:
Private Sub Frm_Login_Activated(sender As Object, e As EventArgs) Handles Me.Activated
'Cuando se active el formulario hacemos que el cursor aparezca en el textbox del usuario
TxtUsuario.Focus()
End Sub
Private Sub CmbCancelar_Click(sender As Object, e As EventArgs) Handles CmbCancelar.Click
'Salimos del formulario
Me.Close()
End Sub
Private Sub CmbRegistrarse_Click(sender As Object, e As EventArgs) Handles CmbRegistrarse.Click
'Mostramos el formulario de registro.
Frm_Registro_Usuarios.ShowDialog()
End Sub
Private Sub TxtClave_TextChanged(sender As Object, e As EventArgs) Handles TxtClave.TextChanged
'Al dar Enter con el cursor dentro de este textbox, se ejecuta el código del boton para intentar entrar en la aplicación
AcceptButton = CmbIniciarSesion
End Sub
Public Nombre As String 'Esta variable almacenara el nombre del usuario que inicia sesion
Public IdUsuario As Long 'Esta variable almacenará el código de identificación del usuario
'Y ahora el botón de inicio de sesión llevará el siguiente código:
Private Sub CmbIniciarSesion_Click(sender As Object, e As EventArgs) Handles CmbIniciarSesion.Click
If TxtUsuario.Text = "" Then 'Si el textbox usuario esta vacio, mostramos un mensaje
MsgBox("Debe introducir su nombre de usuario para poder inicair sesión en la aplicación" _
, vbCritical, "Introduzca un nombre de usuario")
TxtUsuario.Focus() 'devolvemos el cursor al textbox
Exit Sub 'dejamos de ejecutar codigo
ElseIf TxtClave.Text = "" Then 'Para el txtclave hacemos lo mismo
MsgBox("Debe introducir su contraseña para poder iniciar sesión en la aplicacion" _
, vbCritical, "Introduzca su clave de usuario")
TxtClave.Focus() 'Devolvemos el cursor al textbox clave
Exit Sub
End If
Try
'Si los campos tienen datos establecemos la condicion
'Si la funcion BuscarRegistros de la clase ConexBD, que esta almacenada en la variable MisDatos, devuelve true
'es que se encontraron datos
If MisDatos.BuscarRegistros("Tb_Usuarios", "NombreUsuario='" & TxtUsuario.Text & "' And ClaveUsuario ='" & TxtClave.Text & "'") Then
'si encuentra datos, almacenamos en la variables que tenemos dentro de la clase, los valores
'de las columnas ID y Nombre real del usuario que inicia sesión
IdUsuario = MisDatos.DT.Rows(0).Item(0).ToString
Nombre = MisDatos.DT.Rows(0).Item(1).ToString
Me.Hide() 'Ocultamos el formulario de inicio de sesion
Frm_Principal.Show() 'Y mostramos el formulario principal
Else 'En caso contrario, mostramos un mensaje y limpiamos los textbox
MsgBox("El usuario o la contraseña de inicio de sesión no existen o son incorrectos", vbCritical, "Inicio de sesión fallida")
TxtUsuario.Clear()
TxtClave.Clear()
TxtUsuario.Focus() 'Y devolvemos el cursor al textbox correspondiente
End If
Catch ex As Exception
MsgBox("Se ha producido un error inesperado en el inicio de sesión" & vbCr & ex.ToString, vbCritical, "Error de inicio de sesión")
End Try
End Sub
'Este es el botón más complicado de programar en este formulario. Vamos a ver el resto de botones como són, salir, o Registrarse:
Private Sub Frm_Login_Activated(sender As Object, e As EventArgs) Handles Me.Activated
'Cuando se active el formulario hacemos que el cursor aparezca en el textbox del usuario
TxtUsuario.Focus()
End Sub
Private Sub CmbCancelar_Click(sender As Object, e As EventArgs) Handles CmbCancelar.Click
'Salimos del formulario
Me.Close()
End Sub
Private Sub CmbRegistrarse_Click(sender As Object, e As EventArgs) Handles CmbRegistrarse.Click
'Mostramos el formulario de registro.
Frm_Registro_Usuarios.ShowDialog()
End Sub
Private Sub TxtClave_TextChanged(sender As Object, e As EventArgs) Handles TxtClave.TextChanged
'Al dar Enter con el cursor dentro de este textbox, se ejecuta el código del boton para intentar entrar en la aplicación
AcceptButton = CmbIniciarSesion
End Sub
puedes pasarme el codigo fuente ivan_6312@hotmail.es
ResponderEliminar