Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > บทความจากสมาชิก > ทำ Form Login บน Windows Form Application ง่าย ๆ ด้วย VB.NET และ C#


 

ทำ Form Login บน Windows Form Application ง่าย ๆ ด้วย VB.NET และ C#

Login Form บน Windows Form Application (.NET) บทความ.NET สอนการสร้าง Login Form บน Windows Form แบบง่าย ๆ มีตัวอย่างทั้ง VB.NET และ C# เห็นถามกันมาบ่อย ๆ ในกระทู้ วันนี้มีโอากาสเลยจัดให้ซะหน่อย คงจะไม่ช้าเกินไป สำหรับบทความนี้ และคิดว่าคงจะมีประโยชน์ เพราะวิธีการทำมันง่าย ๆ ไม่มีอะไรซับซ้อน

ตัวอย่างนี้มีทั้งภาษา VB.NET และ C#

Form Login บน Windows Form Application

ความสามารถของ Script
- Form Login ตรวจสอบ Username และ Password
- Form Main แสดงข้อมูลผู้ Login

ฐานข้อมูล Databaset
ในตัวอย่างนี้ใช้ฐานข้อมูล Access Database ถ้าต้องการใช้กับฐานข้อมูลอื่น ๆ อ่านได้ในส่วนของท้ายบทความ

Form Login บน Windows Form Application

เริ่นต้นด้วยการสร้างโปรเจคบน Visual Studio เลือกเป็น Windows Forms Application

โครงสร้างตาราง

Form Login บน Windows Form Application

สร้างตารางชื่อ member

Form Login บน Windows Form Application

ข้อมูลของสมาชิกมี Username และ Password



โครงสร้างไฟล์

Form Login บน Windows Form Application

- database.mdb (เป็นฐานข้อมูล)
- frmLogin.vb หรือ frmLogin.cs เป็น Screen Login
- frmMenu.vb หรือ frmMenu.cs เป็น Sscreen Main หลังจาก Login แล้ว


frmMenu.vb หรือ frmMenu.vb

Form Login บน Windows Form Application


frmMenu.vb หรือ frmMenu.cs

Form Login บน Windows Form Application





Code สำหรับภาษา VB.NET

frmLogin.vb
01.Imports System.Data.OleDb
02.Imports System.Data
03.Public Class frmLogin
04. 
05.    Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click
06. 
07.        Dim objConn As New OleDbConnection
08.        Dim objCmd As New OleDbCommand
09.        Dim strConnString, strSQL As String
10.        Dim directory As String = My.Application.Info.DirectoryPath
11. 
12.        strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & directory & "\database.mdb;Jet OLEDB:Database Password=;"
13.        objConn.ConnectionString = strConnString
14.        objConn.Open()
15. 
16.        Dim intNumRows As Integer
17.        strSQL = "SELECT COUNT(*) FROM member WHERE Username = '" & Me.txtUsername.Text & "' AND [Password] = '" & Me.txtPassword.Text & "' "
18.        objCmd = New OleDbCommand(strSQL, objConn)
19.        intNumRows = objCmd.ExecuteScalar()
20. 
21.        If intNumRows > 0 Then
22.            Dim frm As New frmMain
23.            frm._strUser = Me.txtUsername.Text
24.            frm.LoadInfor()
25.            frm.Show()
26. 
27.            Me.Hide()
28.        Else
29.            MessageBox.Show("Username or Password Incorrect")
30.        End If
31. 
32.        objConn.Close()
33.        objConn = Nothing
34. 
35.    End Sub
36. 
37.    Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click
38.        If MessageBox.Show("Exit application?", "", MessageBoxButtons.YesNo) = DialogResult.Yes Then
39.            Application.Exit()
40.        End If
41.    End Sub
42. 
43. 
44.End Class


frmMenu.vb
01.Imports System.Data.OleDb
02.Imports System.Data
03.Public Class frmMain
04. 
05.    Dim strUser As String
06. 
07.    Public Property _strUser() As String
08.        Get
09.            Return strUser
10.        End Get
11.        Set(ByVal value As String)
12.            strUser = value
13.        End Set
14.    End Property
15. 
16.    Public Sub LoadInfor()
17. 
18.        Dim objConn As New OleDbConnection
19.        Dim objCmd As New OleDbCommand
20.        Dim dtAdapter As OleDbDataAdapter
21.        Dim dt As New DataTable
22.        Dim strConnString, strSQL As String
23.        Dim directory As String = My.Application.Info.DirectoryPath
24. 
25. 
26.        strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & directory & "\database.mdb;Jet OLEDB:Database Password=;"
27.        objConn.ConnectionString = strConnString
28.        objConn.Open()
29. 
30.        strSQL = "SELECT * FROM member WHERE Username = '" & strUser & "' "
31. 
32.        dtAdapter = New OleDbDataAdapter(strSQL, objConn)
33.        dtAdapter.Fill(dt)
34. 
35.        If dt.Rows.Count > 0 Then
36.            Me.lblUser.Text = strUser
37.            Me.lblName.Text = dt.Rows(0)("Name")
38.            Me.lblEmail.Text = dt.Rows(0)("Email")
39.        End If
40. 
41.        objConn.Close()
42.        objConn = Nothing
43.    End Sub
44. 
45.    Private Sub btnBack_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBack.Click
46.        Dim frm As New frmLogin
47.        frm.Show()
48. 
49.        Me.Hide()
50.    End Sub
51.End Class








Code สำหรับภาษา C#

frmLogin.cs
01.using System;
02.using System.Collections.Generic;
03.using System.ComponentModel;
04.using System.Data;
05.using System.Drawing;
06.using System.Linq;
07.using System.Text;
08.using System.Windows.Forms;
09.using System.Data.OleDb;
10.using System.IO;
11. 
12.namespace LoginFormCS
13.{
14.    public partial class frmLogin : Form
15.    {
16.        public frmLogin()
17.        {
18.            InitializeComponent();
19.        }
20. 
21.        private void btnLogin_Click(object sender, EventArgs e)
22.        {
23.            OleDbConnection objConn = new OleDbConnection();
24.            OleDbCommand objCmd = new OleDbCommand();
25.            string strConnString = null;
26.            string strSQL = null;
27.            string directory = Path.GetDirectoryName(Application.ExecutablePath);
28. 
29.            strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + directory + "\\database.mdb;Jet OLEDB:Database Password=;";
30.            objConn.ConnectionString = strConnString;
31.            objConn.Open();
32. 
33.            int intNumRows = 0;
34.            strSQL = "SELECT COUNT(*) FROM member WHERE Username = '" + this.txtUsername.Text + "' AND [Password] = '" + this.txtPassword.Text + "' ";
35.            objCmd = new OleDbCommand(strSQL, objConn);
36.            intNumRows = Convert.ToInt32(objCmd.ExecuteScalar());
37. 
38.            if (intNumRows > 0)
39.            {
40.                frmMain frm = new frmMain();
41.                frm._strUser = this.txtUsername.Text;
42.                frm.LoadInfor();
43.                frm.Show();
44. 
45.                this.Hide();
46.            }
47.            else
48.            {
49.                MessageBox.Show("Username or Password Incorrect");
50.            }
51. 
52.            objConn.Close();
53.            objConn = null;
54.        }
55. 
56.        private void btnClose_Click(object sender, EventArgs e)
57.        {
58.            if (MessageBox.Show("Exit application?", "", MessageBoxButtons.YesNo) == DialogResult.Yes)
59.            {
60.                Application.Exit();
61.            }
62.        }
63. 
64. 
65.    }
66.}




frmMenu.cs
01.using System;
02.using System.Collections.Generic;
03.using System.ComponentModel;
04.using System.Data;
05.using System.Drawing;
06.using System.Linq;
07.using System.Text;
08.using System.Windows.Forms;
09.using System.Data.OleDb;
10.using System.IO;
11. 
12.namespace LoginFormCS
13.{
14. 
15. 
16.    public partial class frmMain : Form
17.    {
18.        public frmMain()
19.        {
20.            InitializeComponent();
21.        }
22. 
23.        string strUser;
24.        public string _strUser
25.        {
26.            get { return strUser; }
27.            set { strUser = value; }
28.        }
29. 
30.        public void LoadInfor()
31.        {
32.            OleDbConnection objConn = new OleDbConnection();
33.            OleDbCommand objCmd = new OleDbCommand();
34.            OleDbDataAdapter dtAdapter = default(OleDbDataAdapter);
35.            DataTable dt = new DataTable();
36.            string strConnString = null;
37.            string strSQL = null;
38.            string directory = Path.GetDirectoryName(Application.ExecutablePath);
39. 
40. 
41.            strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + directory + "\\database.mdb;Jet OLEDB:Database Password=;";
42.            objConn.ConnectionString = strConnString;
43.            objConn.Open();
44. 
45.            strSQL = "SELECT * FROM member WHERE Username = '" + strUser + "' ";
46. 
47.            dtAdapter = new OleDbDataAdapter(strSQL, objConn);
48.            dtAdapter.Fill(dt);
49. 
50.            if (dt.Rows.Count > 0)
51.            {
52.                this.lblUser.Text = strUser;
53.                this.lblName.Text = dt.Rows[0]["Name"].ToString();
54.                this.lblEmail.Text = dt.Rows[0]["Email"].ToString();
55.            }
56. 
57.            objConn.Close();
58.            objConn = null;
59.        }
60. 
61.        private void btnBack_Click(object sender, EventArgs e)
62.        {
63.        frmLogin frm = new frmLogin();
64.        frm.Show();
65.        this.Hide();
66.        }
67.    }
68.}



Screenshot

Form Login บน Windows Form Application

หน้าจอ Login

Form Login บน Windows Form Application

หน้าจอเมื่อ Login ผิดพลาด

Form Login บน Windows Form Application

หน้าจอเมื่อ Login ถูกต้อง จะแสดงข้อมูลที่ที่ได้ทำการ Login เข้ามาในระบบ

หรือจะ Download Code ไปศึกษา
Download here!!



ใช้ร่วมกับ Database อื่น ๆ
กรณีที่ต้องการใช้กับ Database อื่น ๆ เช่น MySQL, SQL Server , Oracle , Odbc หรืออื่น ๆ ก็สามารถทำได้โดยไม่ยากเช่นเดียวกัน โดยสามารถศึกษาการใช้งาน ADO.NET กับ Database อื่น ๆ ได้ที่
- MySQL Database MySql.Data.MySqlClient
- Oracle Database System.Data.OracleClient
- SQL Server System.Data.SqlClient
- Odbc System.Data.Odbc
- OleDb System.Data.OleDb

ตัวอย่างการดัดแปลงใช้กับ SQL Server

01.Imports System.Data.SqlClient
02.Imports System.Data
03.Public Class frmLogin
04. 
05.    Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click
06. 
07.        Dim objConn As New SqlConnection
08.        Dim objCmd As New SqlCommand
09.        Dim strConnString, strSQL As String
10. 
11.        strConnString = "Server=IP/Server;UID=sa;PASSWORD=;Database=database;Max Pool Size=400;Connect Timeout=600;"
12.        objConn.ConnectionString = strConnString
13.        objConn.Open()
14. 
15.        Dim intNumRows As Integer
16.        strSQL = "SELECT COUNT(*) FROM member WHERE Username = '" & Me.txtUsername.Text & "' AND [Password] = '" & Me.txtPassword.Text & "' "
17.        objCmd = New SqlCommand(strSQL, objConn)
18.        intNumRows = objCmd.ExecuteScalar()
19. 
20.        If intNumRows > 0 Then
21.            Dim frm As New frmMain
22.            frm._strUser = Me.txtUsername.Text
23.            frm.LoadInfor()
24.            frm.Show()
25. 
26.            Me.Hide()
27.        Else
28.            MessageBox.Show("Username or Password Incorrect")
29.        End If
30. 
31.        objConn.Close()
32.        objConn = Nothing
33. 
34.    End Sub
35. 
36.    Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click
37.        If MessageBox.Show("Exit application?", "", MessageBoxButtons.YesNo) = DialogResult.Yes Then
38.            Application.Exit()
39.        End If
40.    End Sub
41. 
42. 
43.End Class


คำอธิบาย
จะเห็นว่ามีการเปลี่ยนแปลงไม่กี่จุด เช่น

Imports System.Data.OleDb
เป็น
Imports System.Data.SqlClient

และพวก Class ต่าง ๆ ที่เป็น OleDb ให้เปลี่ยนเป็น Sql
OleDbConnection
เป็น
SqlConnection

และก็ ConnectionString ของ Database แต่ล่ะตัว


เพิ่มเติม
ตัวอย่างนี้เขียนบน Visual Studio 2008 (.NET 3.x) แต่สามารถนำไปใช้กับ .NET ทุกเวอร์ชั่นครับ



บทความอื่น ๆ ที่เกี่ยวข้อง
Go to : .NET Windows Form Application เขียนโปรแกรมบน Windows Form Application ด้วย .NET Framework
Go to : VB.NET/C# MySQL (ADO.NET) พื้นฐานการ เขียนโปรแกรม ADO.NET เชื่อมต่อกับฐานข้อมูล MySQL
Go to : VB.NET/C# Connect to SQL Server Using ADO.NET พื้นฐานกับ SQL Server and ADO.NET
Go to : ADO.NET and Oracle (VB.NET/C#) เขียนโปรแกรมติดต่อกับฐานข้อมูล Oracle Database


   
Hate it
Don't like it
It's ok
Like it
Love it
Total Votes: 761Overall Rating: 4.8 / 5
Share
Bookmark.   

  By : TC Admin
  Article : บทความเป็นการเขียนโดยสมาชิก หากมีปัญหาเรื่องลิขสิทธิ์ กรุณาแจ้งให้ทาง webmaster ทราบด้วยครับ
  Score Rating :
  Create Date : 2012-02-27
  Download : No files
Sponsored Links
ThaiCreate.Com Forum
Comunity Forum Free Web Script
Jobs Freelance Free Uploads
Free Web Hosting Free Tools

สอน PHP ผ่าน Youtube ฟรี
สอน Android การเขียนโปรแกรม Android
สอน Windows Phone การเขียนโปรแกรม Windows Phone 7 และ 8
สอน iOS การเขียนโปรแกรม iPhone, iPad
สอน Java การเขียนโปรแกรม ภาษา Java
สอน Java GUI การเขียนโปรแกรม ภาษา Java GUI
สอน JSP การเขียนโปรแกรม ภาษา Java
สอน jQuery การเขียนโปรแกรม ภาษา jQuery
สอน .Net การเขียนโปรแกรม ภาษา .Net
Free Tutorial
สอน Google Maps Api
สอน Windows Service
สอน Entity Framework
สอน Android
สอน Java เขียน Java
Java GUI Swing
สอน JSP (Web App)
iOS (iPhone,iPad)
Windows Phone
Windows Azure
Windows Store
Laravel Framework
Yii PHP Framework
สอน jQuery
สอน jQuery กับ Ajax
สอน PHP OOP (Vdo)
Ajax Tutorials
SQL Tutorials
สอน SQL (Part 2)
JavaScript Tutorial
Javascript Tips
VBScript Tutorial
VBScript Validation
Microsoft Access
MySQL Tutorials
-- Stored Procedure
MariaDB Database
SQL Server Tutorial
SQL Server 2005
SQL Server 2008
SQL Server 2012
-- Stored Procedure
Oracle Database
-- Stored Procedure
SVN (Subversion)
แนวทางการทำ SEO
ปรับแต่งเว็บให้โหลดเร็ว


Hit Link
   





ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่