Posted by : Lê Tấn Thành
11/9/13
TRANG CHỦ
Imports System.Data.SqlClient
Public Class Frm_DangNhap
Hàm đầu tiên dùng để kiểm quá trình kết nối dữ liệu, kiểm tra điều kiện nhập
Private Sub bttdn_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)Handles bttdn.Click
System.EventArgs)Handles bttdn.Click
If (txtuser.Text = "") Then
MessageBox.Show("Bạn hãy nhập vào tên tài khoản")
txtuser.Focus()
Else
If (txtpass.Text = "") Then
MessageBox.Show("Bạn hãy nhập vào mật khẩu")
txtpass.Focus()
Else
Tạo một class kết nối, sử dụng class với đối số truyền vô là hai text nhập
Dim ketn As New Ketnoi
If ketn.ktketnoi(txtuser.Text, txtpass.Text) Then
MessageBox.Show("Bạn đã đăng nhập thành công")
Frm_TrangChu.Show()
Me.Hide()
Else //ngược lại tức là dữ liệu lấy từ ketnoi không có hoặc một trong tài khoản hoặc user đã sai thì thông báo
MessageBox.Show("Lỗi đăng nhập!")
txtpass.Text = ""
txtpass.Focus()
End If
End If
End IF
End Sub
Nút hủy bỏ khi nhấn thì cho hai text nhập trống và đặt con trỏ tại text user
Private Sub btthb_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)Handles btthb.Click
System.EventArgs)Handles btthb.Click
txtuser.Text = ""
txtpass.Text = ""
txtuser.Focus()
End Sub
Nút thoát khỏi chương trình
Private Sub bttt_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)Handles bttt.Click
System.EventArgs)Handles bttt.Click
Close()
End Sub
Đặt sự kiện cho txtuser là keydown khi nhập xong nhấn enter tự xuống dòng
Private Sub txtuser_KeyDown(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles txtuser.KeyDown
System.Windows.Forms.KeyEventArgs) Handles txtuser.KeyDown
If e.KeyValue = Keys.Enter Then
txtpass.Focus()
End If
End Sub
Sự kiện cho txtpass là keydown nhập xong nhấn enter thì gọi lệnh đăng nhập
Private Sub txtpass_KeyDown(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles txtpass.KeyDown
System.Windows.Forms.KeyEventArgs) Handles txtpass.KeyDown
If e.KeyValue = Keys.Enter Then
bttdn_Click(sender, e)
End If
End Sub
Đặt thuộc tính của txtusser là TextChanged ý nghĩa cứ mỗi lần nhập một kí tự sẻ thực hiện lệnh
Private Sub txtuser_TextChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handlestxtuser.TextChanged
System.EventArgs) Handlestxtuser.TextChanged
If (txtuser.Text <> "") Then
Cứ mỗi lần nhập một kí tự vào txtuser thì hàm txtuser_textchanged xét điều kiện nhập nếu thỏa điều kiện nằm trong khoản là từ a..z, hay A..Z, và chỉ cho nhập các kí tự “@”, ”.”, ”_” biến i có nhiệm vụ là biến đếm
Dim i As Integer
i = 1
Do While (i <= txtuser.Text.Length)
If ((Mid(txtuser.Text, i, 1) >= "a" And (Mid(txtuser.Text, i, 1) <= "z")) Or(Mid(txtuser.Text, i, 1) >= "A" And Mid(txtuser.Text, i, 1) <= "Z") Or (Mid(txtuser.Text, i, 1) >= "0" And (Mid(txtuser.Text, i, 1) <= "9")) Or Mid(txtuser.Text, i, 1) = "@" OrMid(txtuser.Text, i, 1) = "_" Or Mid(txtuser.Text, i, 1) = ".") Then
i = i + 1
Else
Exit Do //Nếu không thỏa điều kiện thì thoát vòng lặp
End If
Loop
Nếu giá trị nhập kí tự kế tiếp không thỏa điều kiện ở trên thì sẻ sẻ xóa kí tự vừa nhập và đặt txtuser.text=giá trị trước khi nhập kí tự không thỏa và đặt con trỏ tại txtuer với vị trí bắng đầu là chiều dài của txtuser
If i = txtuser.Text.Length Then
MessageBox.Show("Username chỉ gồm chữ cái, chữ số, @ , '.' và '_'")
txtuser.Text = Mid(txtuser.Text, 1, txtuser.Text.Length - 1)
txtuser.SelectionStart = txtuser.Text.Length
txtuser.Focus()
Ngược lại nếu giá trị nhập vào đầu tiên là không thỏa thì đặt txtuser=””
ElseIf i < txtuser.Text.Length Then
MessageBox.Show("Username chỉ gồm chữ cái, chữ số, @ , '.' và '_'")
txtuser.Text = ""
txtuser.Focus()
End If
End If
End Sub
Form load cứ mỗi lần load form thì đặt các text bằng rổng
Private Sub Frm_DangNhap_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
ByVal e As System.EventArgs) Handles MyBase.Load
txtuser.Text = ""
txtpass.Text = ""
txtuser.Focus()
End Sub
End Class
KẾT NỐI
Imports System.Data.SqlClient
Public Class Ketnoi
Private conn = "Data Source=THANH\SQLEXPRESS;Initial Catalog=QLS;Integrated Security=True"
Public Function ktketnoi(ByVal user As String, ByVal pass As String)
As Boolean //tạo ra class kết nối với giá trị trả về là kiểu true, false
As Boolean //tạo ra class kết nối với giá trị trả về là kiểu true, false
Try
Dim sql = "select * from quantri where username='" & user & "' and pass= '" & pass & "' "
Dim sqlcon As New SqlConnection(conn)
Dim adapter As New SqlDataAdapter(sql, sqlcon)
Dim dt As New DataTable //Tạo biết dt dạng dữ liệu là một table
adapter.Fill(dt) //Đưa giá trị từ kết nối vào biến dt
If dt.Rows.Count > 0 Then //>0 có nghĩa là có giá trị trong dt
Return True
Else
Return False
End If
Catch ex As Exception
Return False
End Try
End Function
End Class
TRANG CHỦ
Public Class Frm_TrangChu
Private Sub Frm_TrangChu_Load(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles MyBase.Load
As System.EventArgs) Handles MyBase.Load
Frm_con.MdiParent = Me //Tạo 1 from con và ở form cha đặt dòng lệnh này
End Sub
Khi chọn form con trong menu thì hiện form con lên
Private Sub con_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Handlescon.Click
Handlescon.Click
Dim moi As New Frm_con
Frm_con.Show()
End Sub
Khi chọn nút thoát trong menu thì xuất ra một thông báo nếu chọn yes thì thoát và ngược lại nếu no thì không thoát
Private Sub ThoátToolStripMenuItem1_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles ThoátToolStripMenuItem1.Click
System.Object, ByVal e As
System.EventArgs) Handles ThoátToolStripMenuItem1.Click
If MessageBox.Show("Bạn có muốn thoát?", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Information) = Windows.Forms.DialogResult.Yes Then
Application.Exit()
Me.Dispose()
End If
End Sub
Khi chọn nút đăng nhập trong menu thì đóng form hiện tại lại và cho hiển thị form Đăng nhập lên và cho tất cả các text của form đăng nhập bằng rổng để nhập lại và đặt con trỏ hiện tại tại txtuser
Private Sub ĐăngNhập(ByVal sender As Object, ByVal e As EventArgs)
HandlesĐăngNhậpToolStripMenuItem.Click
HandlesĐăngNhậpToolStripMenuItem.Click
Me.Dispose()
Frm_DangNhap.Show()
Frm_DangNhap.txtuser.Text = ""
Frm_DangNhap.txtpass.Text = ""
Frm_DangNhap.txtuser.Focus()
End Sub
End Class
Bài viết liên quan :
- Trang chủ »
- Code , Ebook - Lập trình »
- Hướng dẫn tạo Form Chính phụ và Form Đăng nhập trong VB.net
{ 0 nhận xét }