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 > .NET Framework > .NET Windows Form Application เขียนโปรแกรมบน Windows Form Application ด้วย .NET Framework



.NET Windows Form Application เขียนโปรแกรมบน Windows Form Application ด้วย .NET Framework

 
  .NET Windows Form Application เขียนโปรแกรมบน Windows Form Application ด้วย .NET Framework ใน Application บน Visual Studio นั้น Windows Form ถือเป็น Project พื้นฐานที่สามารถพัฒนาโปรแกรมที่ทำงานบน Windows ได้ง่ายและรวดเร็วที่สุดก็ว่าได้ เพราะเป็นการออกแบบรูปแบบ GUI การใส่ Control หรือกำหนด Event ต่าง ๆ ก็สามารถสร้างเหตุการณ์ต่าง ๆ ได้จาก Properties ของ Control และเค้าโครงการเขียนนั้นก็มีพื้นฐานมาจากภาษา Visual Basic 6.0 ซึ่งจุดนี้เอง นักโปรแกรมเมอร์ที่พัฒนาโปรแกรมด้วย VB6 มาก่อนหน้านี้ก็สามารถต่อยอดการเขียนได้อย่างง่ายดาย รวมทั้งรูปแบบคำสั่งที่เป็นภาษา (VB.NET) ก็ไม่ได้ยากอะไรมากมาย ซึ่งใน .NET Framework นี้เราสามารถพัฒนาโปรแกรมให้มีความสามารถและการทำงานได้หลากหลาย และยังสามารถเขียนเพื่อใช้งานร่วมกับ Application อื่น ๆ ที่พัฒนาด้วย .NET Framework ได้เช่นเดียวกัน

สำหรับบทความนี้มีทั้งที่เป็นภาษา VB.NET และ C# ครับ สามารถเลือกอ่านได้ตามความถนัดได้เลย

Framework : 1,2,3,4

Language Code : VB.NET || C#


ในตัวอย่างนี้ผมได้ใช้ Tool ของ Visual Studio 2008 บน .NET Framework 3.5

ให้เปิด Tool ขึ้นมาพร้อมกับ New Project

.NET Windows Form Application


เลือกภาษาที่ใช้พัฒนา และเลือก Windows Form Application พร้อมกับตั้งชื่อ Project


.NET Windows Form Application

ไฟล์ Default จะถูกสร้างให้อัตโนมัติ ประมาณ 2-3 ไฟล์ ทั้งนี้หากไม่ต้องการ Form ที่เป็น Default ก็สามารถลบทิ้งได้เช่นเดียวกัน


.NET Windows Form Application

การเพิ่ม Form ใหม่สามารถเพิ่มได้จากการคลิกขวาที่ Project -> Add -> New Item...


.NET Windows Form Application

เลือก Windows Form


.NET Windows Form Application

กรณีที่เป็น VB.NET ให้คลิกขวาที่ Project เลือก Properties เพื่อกำหนดค่า Startup Project

.NET Windows Form Application

ตรง Startup form: เลือก Sub ที่ต้องการให้ทำงานแรกสุดเมื่อโปรแกรมทำงาน



ในตัวอย่างนี้มีการเรียกใช้งาน Database ของ SqlServerCe ด้วย

.NET Windows Form Application

ให้คลิกขวที่ Project -> Add -> New Item...


.NET Windows Form Application

เลือก Database File จาก Local Database พร้อมกับกำหนดชื่อ Database ด้วย


.NET Windows Form Application

Database ถุกสร้างขึ้นมาแล้ว


.NET Windows Form Application

ทดสอบการสร้าง Table โดยไปที่ Server Explorer (อยู่ด้านซ้าย) คลิกที่ Database ที่เราสร้างขึ้นมา


.NET Windows Form Application

และภายใต้ Table ให้คลิกขวาเลือก Create Table ให้สร้างตารางชื่อ mytable โดยมีฟิว์ id,name,email (id เป็น primary key และ IdentityIncrement) และ save ถือเป็นเสร็จสิ้นการสร้าง Table


กรณีใช้ Database อื่น ๆ สามารถอ่านได้ที่
- System.Data.OleDb สำหรับ Ms Access หรืออื่น ๆ ที่ผ่าน OleDb
- System.Data.SqlClient สำหรับ Microsoft SQL Server
- System.Data.OracleClient สำหรับ Oracle Database
- MySql.Data.MySqlClient สำหรับ MySQL Database
- System.Data.Odbc ใช้สำหรับ Database เกือบทุกประเภทที่ใช้งานบน Platform Windows


.NET Windows Form Application

ตารางชื่อ mytable ถูกสร้างขึ้นมาแล้ว




ในตัวอย่างนี้จะประกอบด้วย 4 Form คือ
1. frmMain เป็นหน้าแรกของ Application
2. frmHome เป็นหน้าหลักของโปรแกรมใช้ DataGrid สำหรับเรียกข้อมูลมาแสดง (เพื่อลิงค์ไปยังการ เพิ่ม/แก้ไข/ลบ ข้อมูล)
3. frmAdd เป็นหน้าสำหรับเพิ่มข้อมูล
4. frmEdit เป็นหน้าสำหรับแก้ไขข้อมูล


frmMain

.NET Windows Form Application

01.Public Class frmMain
02.    'By https://www.thaicreate.com (mr.win)'
03.    Private Sub btnHome_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHome.Click
04.        Me.Hide()
05.        Dim f As New frmHome
06.        f.Show()
07.    End Sub
08. 
09. 
10.    Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
11.        If MessageBox.Show("Are you sure to exit?", "Confirm.", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) = DialogResult.Yes Then
12.            Application.Exit()
13.        End If
14.    End Sub
15.End Class



frmHome

.NET Windows Form Application

01.Imports System.Data
02.Imports System.Data.SqlServerCe
03.Imports System.Data.SqlTypes
04.Imports System.Drawing
05.Imports System.ComponentModel
06.Imports System.Windows.Forms
07. 
08.Public Class frmHome
09.    'By https://www.thaicreate.com (mr.win)'
10.    Private Sub frmHome_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
11.        BindDataGrid()
12.    End Sub
13. 
14.    Private Sub BindDataGrid()
15. 
16.        Dim myConnection As SqlCeConnection
17.        Dim dt As New DataTable
18.        Dim Adapter As SqlCeDataAdapter
19.        'myConnection = New SqlCeConnection("Data Source =" + (System.IO.Path.GetDirectoryName( System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase ) + "\Database1.sdf;"))
20.        myConnection = New SqlCeConnection("Data Source=C:\WindowsFormsApplication\WindowsFormsApplication\Database1.sdf;")
21.        myConnection.Open()
22.        Dim myCommand As SqlCeCommand = myConnection.CreateCommand()
23.        myCommand.CommandText = "SELECT [id], [name], [email] FROM [mytable]"
24.        myCommand.CommandType = CommandType.Text
25. 
26.        Adapter = New SqlCeDataAdapter(myCommand)
27.        Adapter.Fill(dt)
28. 
29.        myConnection.Close()
30. 
31.        Me.dgName.DataSource = dt
32. 
33.        Me.dgName.Columns.Clear()
34. 
35.        Dim column As DataGridViewTextBoxColumn
36. 
37.        column = New DataGridViewTextBoxColumn()
38.        column.DataPropertyName = "id"
39.        column.HeaderText = "ID"
40.        column.Width = 50
41.        Me.dgName.Columns.Add(column)
42. 
43.        column = New DataGridViewTextBoxColumn()
44.        column.DataPropertyName = "name"
45.        column.HeaderText = "Name"
46.        column.Width = 100
47.        Me.dgName.Columns.Add(column)
48. 
49.        column = New DataGridViewTextBoxColumn()
50.        column.DataPropertyName = "email"
51.        column.HeaderText = "Email"
52.        column.Width = 150
53.        Me.dgName.Columns.Add(column)
54. 
55.        dt = Nothing
56. 
57.    End Sub
58. 
59.    Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
60.        Me.Hide()
61.        Dim f As New frmAdd
62.        f.Show()
63.    End Sub
64. 
65.    Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click
66.        Me.Hide()
67.        Dim f As New frmEdit()
68.        f._strID = Me.dgName(0, Me.dgName.CurrentCell.RowIndex).Value.ToString()
69.        f.Show()
70.    End Sub
71. 
72.    Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click
73.        If MessageBox.Show("Are you sure to delete?", "Confirm.", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) = DialogResult.Yes Then
74. 
75.            Dim strID As String = Me.dgName(0, Me.dgName.CurrentCell.RowIndex).Value.ToString()
76. 
77.            Dim myConnection As SqlCeConnection
78.            'myConnection = New SqlCeConnection("Data Source =" + (System.IO.Path.GetDirectoryName( System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase ) + "\Database1.sdf;"))
79.            myConnection = New SqlCeConnection("Data Source=C:\WindowsFormsApplication\WindowsFormsApplication\Database1.sdf;")
80.            myConnection.Open()
81.            Dim myCommand As SqlCeCommand = myConnection.CreateCommand()
82.            myCommand.CommandText = "DELETE FROM [mytable] WHERE id = '" & strID & "'"
83.            myCommand.CommandType = CommandType.Text
84.            myCommand.ExecuteNonQuery()
85.            myConnection.Close()
86.            MessageBox.Show("Delete Successfully")
87. 
88.            BindDataGrid()
89.        End If
90.    End Sub
91. 
92.    Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
93.        Me.Hide()
94.        Dim f As New frmMain
95.        f.Show()
96.    End Sub
97. 
98.End Class




frmAdd

.NET Windows Form Application

01.Imports System.Data
02.Imports System.Data.SqlServerCe
03.Imports System.Data.SqlTypes
04.Imports System.Drawing
05.Imports System.ComponentModel
06.Imports System.Windows.Forms
07. 
08.Public Class frmAdd
09.    'By https://www.thaicreate.com (mr.win)'
10.    Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
11.        If Me.txtName.Text = "" Then
12.            MessageBox.Show("Please input (Name)")
13.            Me.txtName.Focus()
14.            Exit Sub
15.        End If
16. 
17.        If Me.txtEmail.Text = "" Then
18.            MessageBox.Show("Please input (Email)")
19.            Me.txtEmail.Focus()
20.            Exit Sub
21.        End If
22. 
23.        Dim myConnection As SqlCeConnection
24.        'myConnection = New SqlCeConnection("Data Source =" + (System.IO.Path.GetDirectoryName( System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase ) + "\Database1.sdf;"))
25.        myConnection = New SqlCeConnection("Data Source=C:\WindowsFormsApplication\WindowsFormsApplication\Database1.sdf;")
26.        myConnection.Open()
27.        Dim myCommand As SqlCeCommand = myConnection.CreateCommand()
28.        myCommand.CommandText = "INSERT INTO [mytable] ([name], [email]) VALUES  " & _
29.        " ('" & Me.txtName.Text & "','" & Me.txtEmail.Text & "' ) "
30.        myCommand.CommandType = CommandType.Text
31.        myCommand.ExecuteNonQuery()
32.        myConnection.Close()
33. 
34.        MessageBox.Show("Save Successfully.")
35. 
36.        Me.Hide()
37.        Dim f As New frmHome
38.        f.Show()
39.    End Sub
40. 
41.    Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
42.        Me.Hide()
43.        Dim f As New frmHome
44.        f.Show()
45.    End Sub
46.End Class



frmEdit

.NET Windows Form Application

01.Imports System.Data
02.Imports System.Data.SqlServerCe
03.Imports System.Data.SqlTypes
04.Imports System.Drawing
05.Imports System.ComponentModel
06.Imports System.Windows.Forms
07. 
08.Public Class frmEdit
09.    'By https://www.thaicreate.com (mr.win)'
10.    Dim strID As String = ""
11. 
12.    Public Property _strID() As String
13.        Get
14.            Return strID
15.        End Get
16.        Set(ByVal value As String)
17.            strID = value
18.        End Set
19.    End Property
20. 
21.    Private Sub frmEdit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
22.        Dim myConnection As SqlCeConnection
23.        Dim dt As New DataTable
24.        Dim Adapter As SqlCeDataAdapter
25.        'myConnection = New SqlCeConnection("Data Source =" + (System.IO.Path.GetDirectoryName( System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase ) + "\Database1.sdf;"))
26.        myConnection = New SqlCeConnection("Data Source=C:\WindowsFormsApplication\WindowsFormsApplication\Database1.sdf;")
27.        myConnection.Open()
28.        Dim myCommand As SqlCeCommand = myConnection.CreateCommand()
29.        myCommand.CommandText = "SELECT [id], [name], [email] FROM [mytable] WHERE id = '" & strID & "' "
30.        myCommand.CommandType = CommandType.Text
31. 
32.        Adapter = New SqlCeDataAdapter(myCommand)
33.        Adapter.Fill(dt)
34. 
35.        myConnection.Close()
36. 
37.        If dt.Rows.Count > 0 Then
38.            Me.txtName.Text = dt.Rows(0)("name")
39.            Me.txtEmail.Text = dt.Rows(0)("email")
40.        End If
41. 
42.        dt = Nothing
43.    End Sub
44. 
45. 
46.    Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
47.        If Me.txtName.Text = "" Then
48.            MessageBox.Show("Please input (Name)")
49.            Me.txtName.Focus()
50.            Exit Sub
51.        End If
52. 
53.        If Me.txtEmail.Text = "" Then
54.            MessageBox.Show("Please input (Email)")
55.            Me.txtEmail.Focus()
56.            Exit Sub
57.        End If
58. 
59.        Dim myConnection As SqlCeConnection
60.        'myConnection = New SqlCeConnection("Data Source =" + (System.IO.Path.GetDirectoryName( System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase ) + "\Database1.sdf;"))
61.        myConnection = New SqlCeConnection("Data Source=C:\WindowsFormsApplication\WindowsFormsApplication\Database1.sdf;")
62.        myConnection.Open()
63.        Dim myCommand As SqlCeCommand = myConnection.CreateCommand()
64.        myCommand.CommandText = "UPDATE [mytable] SET " & _
65.        " [name] = '" & Me.txtName.Text & "', [email] = '" & Me.txtEmail.Text & "'  " & _
66.        " WHERE id = '" & strID & "' "
67.        myCommand.CommandType = CommandType.Text
68.        myCommand.ExecuteNonQuery()
69.        myConnection.Close()
70. 
71.        MessageBox.Show("Update Successfully")
72. 
73.        Me.Hide()
74.        Dim f As New frmHome
75.        f.Show()
76.    End Sub
77. 
78.    Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
79.        Me.Hide()
80.        Dim f As New frmHome
81.        f.Show()
82.    End Sub
83. 
84.End Class





ทดสอบการรันโปรแกรม

.NET Windows Form Application

โดยคลิกที่ Startup Debugging


.NET Windows Form Application


หน้าจอหลัก


.NET Windows Form Application

หน้า Home ซึ่งใช้ DataGridView เพื่อดึงข้อมูลออกมาแสดง


.NET Windows Form Application

หน้าสำหรับเพิ่มข้อมูล


.NET Windows Form Application

เลือก Record และ คลิก Edit เพื่อแก้ไข


.NET Windows Form Application

หน้าสำหรับแก้ไขข้อมูล


.NET Windows Form Application

การลบข้อมูล

สำหรับตัวอย่างทั้งหมดนี้สามารถดาวน์โหลด Code ได้จากข้างล่าง โดยมีทั้งภาษา VB.NET และ C# และบทความนี้เป็นเพียงการสอนเบื้องต้นเท่านั้น เพื่อเป็นพื้นฐานในการต่อยอดในการพัฒนาโปรแกรมที่มีความซับซ้อนและการใช้งานที่หลากหลาย




       
Bookmark.   
       

 

  By : TC Admin
  Score Rating : -
  Create Date : 2010-09-02 21:19:54
  Download : Download  .NET Windows Form Application  เขียนโปรแกรมบน Windows Form Application ด้วย .NET Framework (1.70 MB)
     


Related Links
C# (.Net) Open Excel Template and Create Font,Border,Color,Style (Office 2003,2007,2010)
C# (.Net) Open Excel Template and Create Font,Border,Color,Style (Office 2003,2007,2010)
ตัวอย่างการใช้ C# ในการเปิดไฟล์ Excel ที่มีอยู่ และทำการสร้างเป็น Excel ชุดใหม่ โดยตกแต่งข้อความ เช่น สี , ขนาด ของ ฟอนต์
Rating :
Update :
2017-03-24 21:24:23 View : 22,708
.NET Windows Form กับการส่งอีเมล์ (Send Mail) แบบง่าย ๆ ด้วย System.Net.Mail (VB.NET , C#)
.NET Windows Form กับการส่งอีเมล์ (Send Mail) แบบง่าย ๆ ด้วย System.Net.Mail (VB.NET , C#)
ง่าย ๆ กับ .NET Framework การเขียน Windows Form ส่งอีเมล์ แบบง่าย ๆ ด้วย Namespace ของ System.Net.Mail
Rating :
Update :
2017-03-17 22:15:41 View : 18,658
.NET Smart Device  เขียนโปรแกรมบน Smartphone, Pocket PC , Windows CE , Window  Mobile 5-6, Hand Held,...
.NET Smart Device เขียนโปรแกรมบน Smartphone, Pocket PC , Windows CE , Window Mobile 5-6, Hand Held,...
.NET Smart Device Project เขียนโปรแกรมบน Smartphone, Pocket PC , Windows CE , Window Mobile 5-6, Hand Held,...
Rating :
Update :
2017-03-24 21:17:48 View : 42,017
.NET Parameterized Queries
.NET Parameterized Queries
.NET Parameterized Queries
Rating :
Update :
2017-03-24 21:20:12 View : 11,128
การสร้าง Crystal Report กับการสร้าง Class และ DataSource (.NET)
การสร้าง Crystal Report กับการสร้าง Class และ DataSource (.NET)
ตัวอย่างการสร้าง class บน .net framework เพื่อสร้าง dataset และ datatable กำหนดค่า datasource ให้กับ crystal report
Rating :
Update :
2017-03-24 21:32:24 View : 22,489
Basic ASP.NET jQuery Framework (พื้นฐานง่าย ๆ ด้วย ASP.NET กับ jQuery)
Basic ASP.NET jQuery Framework (พื้นฐานง่าย ๆ ด้วย ASP.NET กับ jQuery)
บทความ ASP.NET กับ jQuery พื้นฐานการเขียนโปรแกรม ASP.NET jQuery บน Visual Studio กับ JScript jQuery IntelliSense
Rating :
Update :
2017-03-24 21:22:21 View : 24,660
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 อัตราราคา คลิกที่นี่