SlideShare a Scribd company logo
1 of 15
Download to read offline
VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com



                    การเขยนโปรแกรมภาษา VB .NET 2005 Express Edition
         โปรแกรมภาษา Visual Basic น- บ ได1ว 3 า เป5 น ภาษาท7 8ม 7 ค วามง3 า ยท7 8ส = ด ในบรรดาท= ก ภาษาท7 8 บ รรจ= อยA 3 ใ น Visual Studio
เนD8องจากว3าม7รAปแบบท7ไม3ยาก ไม3ม7ขอกFาหนดหรDอกฎเกณฑKอะไรมากมายน-ก และม7เส1นแบ3งระหว3าง Event เพD8อให1เหOนง3ายอ7กด1วย
                      8            1
         สFาหร-บการเข7ยนโปรแกรม (Code) ให1ก-บโปรเจOกตKของ Visual Basic สามารถแบ3งได1 2 ประเภทใหญ3 ๆ คDอ
              1. การเข7ยนโปรแกรมก-บ Control
              2. การเข7ยนโปรแกรมด1วยคFาส-8งต3าง ๆ ของ Visual Basic ซY8งก3อนอD8นต1องมาทFาความค=1นเคยก-บหน1าต3าง Code
                  ก3อน

ว%ธการเรยก Code
         วZธ7การเร7ยก Code ม7หลายวZธ7ด1วยก-น แต3จะขอแนะนFา 2 วZธ7ด-งน7
              1. Double Click ท78 Control ใด ๆ กOได1รวมท-งฟอรKมด1วย
              2. คลZ_กขวาเลDอกชDอฟอรKมท78 Project Explorer แล1วเลDอกเมนA View Code
                                  8

                                             6. Tab
                           3.ชDอ control
                               8                                                           4. ชDอ event
                                                                                                8
         control                                      event


                                                              5. ส3ว นเข7ยน code
                                       รAปท78 1 ส3วนประกอบของหน1าต3างการเข7ยนโปรแกรม

              3. ช)*อ Control หมายถYง เป5น Combo Box ท78รวมรายชD8อ Control ท=กต-วท78เราวาดลงบนฟอรKม โดยจะเอาชD8อท78
                 มาแสดงจาก Properties Name ของท=ก Control ยกเว1น ฟอรKม (Form) อ-นเด7ยวเท3าน-นท78ย-งคงใช1คFาว3า Form
              4. ช)*อ Event ก3อนอDน ต1องมาทFาความเข1าใจคFาว3า “Event” ก3อน
                                  8
                 Event ถ1าแปลเป5นภาษาไทยกOแปลว3า “เหต=การณK” คDอ เหต=การณKหนY8ง ๆ ท78เกZดขYนก-บ Control ซY8งท=ก Control
                 จะต1องม7เหต=การณK เช3น เหต=การณK Click ของ Command Button หมายถYง เมD8อผA1ใช1คลZ_กท78ป=lมหรDอเหต=การณK
                 Load ของ Form หมายถYง เมDอฟอรKมถAกโหลดขYนมา เป5นต1น ซY8งแต3ละ Control จะม7เหต=การณKไม3เหมDอนก-น
                                               8               
              5. ส/ว นเขยน Code เป5นส3วนท7 8เราเข7ยน Code การทFางานตามเหต=การณK (Event) ท78เราต1องการ หรDอ Event
                 ของใครของม-น
              6. Tab เป5นส3วนท78แสดงหน1า Code และส3วนท78ออกแบบไว1คนละส3วนก-น ซY8งผA1ใช1สามารถคลZ_กสล-บไปมาได1 โดยไม3
                 ต1อง Double Click ท78 Control ท=กคร-งหากต1องการไปแสดงหน1าต3าง code

หมายเหต4:
        เราสามารถทราบได1ว3า ณ ปoจจ=บ-นน7เราเข7ยน Code ของ Control อะไร และเป5น Event อะไร ได1 โดยส-งเกตจากส3วนห-ว
ของฟoงกKช-8นการทFางานน-น ๆ เช3น Form1_Load น-นกOหมายความว3า ณ ตอนน7เราเข7ยนท7 8 Form โดยใช1 Event OnLoad น-8นเอง
โดยม7ขดเส1นใต1 (Underline) ค-นระหว3างชD8อ Control ก-บ Event
      7                      8


                                                                   -1-
VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com




การเขยนโปรแกรมควบค4ม Control
        หมายถYง การเข7ยนโปรแกรมเพD8อควบค=มค=ณสมบ-ตZของ Control ให1ม7ค=ณสมบ-ตZเป5นแบบไม3คงท78ได1ในขณะร-นโปรแกรม
ซY8งโดยปกตZ Control หนY8ง ๆ จะม7ค=ณสมบ-ตเZ บDองต1นและในส3วนท7เ8 รากFาหนดในหน1าต3าง Properties Window

        ร8ปแบบของค:าส;ง   *
                            Control-Name.Property = Value
                หมายเหต=:
                ต1องรA1จ-กชD8อ Control ซY8ง VB จะหาชD8อ Control ให1ก-บเรา เมD8อเราพZมพKคFาส-8งลงไป และเมD8อได1ชD8อ Control แล1วเรา
กOตองพZมพKตามด1วย จ=ด (.) แล1วหน1าต3าง Properties กOจะปรากฏขYนมาให1อ-ตโนม-ตZ ด-งต-วอย3างต3อไปน7
   1                                                              

ต-วอย3าง
         จาก Form1 ม7 Control TextBox และ Command Button อย3 า งละ 1 อ-น จากน-  น เราจะเข7 ย นโปรแกรมเพD 8 อกF า หนดส7
พDนหล-งของ TextBox จากส7เข7ยว ให1เป5นส7นFาเงZน และให1ม7ข1อความว3า “สว-สด7” โดยเหต=การณKท-งหมดจะเกZดขYนเมD8อเราคลZ_กป=lม
สามารถทFาได1ด-งน7




                                            รAปท78 2 หน1าจอของต-วอย3างท78กFาหนดให1

           ต-วอย3างโค1ดโปรแกรม ด-งรAป




                รAปท78 3 การเข7ยนโปรแกรมควบค=ม Control TextBox1 ท78 Button1 Event OnClick (Button1_Click)




                                                               -2-
VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com


         ผลล-พธKเมDอร-นโปรแกรม
                   8




                                      รAปท78 4 หน1าจอผลล-พธKเมDอร-นโปรแกรมจากต-วอย3าง
                                                               8

         ส3วนการเข7ยนโปรแกรมเพD8อควบค=มค=ณสมบ-ตZ Control ต-วอD8น ๆ กOสามารถทFาได1โดยใช1หล-กการเด7ยวก-นน7คร-บ
                                                                                                        

การเรยกใชC Message Box
         Message Box เป5นรAปแบบท78สFาค-ญของการเข7ยนโปรแกรมบน Windows เนD8องจากเป5นต-วบรรจ=ข3าวสารจากโปรแกรม
แจ1งไปย-งผA1ใช1งาน ไม3วาจะเป5นข3าวสารท-วไปหรDอข1อความเตDอนอD8น ๆ
                       3               8

         ร8ปแบบของค:าส;ง
                       *
                         MsgBox(“ข1อความ”, MsgBoxStyle, “ข1อความบน Titlebar”)

ตารางท78 1 การกFาหนดชนZดของป=lม (Buttons) ใน MsgBox ด-งน7
                  ค/าคงท*                    ค/าต;วเลข                           รายละเอยด
MsgBoxStyle.OKOnly                               0      สFาหร-บแสดงป=lม OK
MsgBoxStyle.OKCancel                             1      สFาหร-บแสดงป=lม OK, Cancel
MsgBoxStyle.AbortRetryIgnore                     2      สFาหร-บแสดงป=lม Abort, Retry, Ignore
MsgBoxStyle.YesNoCancel                          3      สFาหร-บแสดงป=lม Yes, No, Cancel
MsgBoxStyle.YesNo                                4      สFาหร-บแสดงป=lม Yes, No
MsgBoxStyle.RetryCancel                          5      สFาหร-บแสดงป=lม Retry, Cancel
MsgBoxStyle.Critical                            16      สFาหร-บแสดงไอคอน “Critical Message”
MsgBoxStyle.Question                            32      สFาหร-บแสดงไอคอน “Warning Query”
MsgBoxStyle.Exclamation                         48      สFาหร-บแสดงไอคอน “Warning Message”
MsgBoxStyle.Information                         64      สFาหร-บแสดงไอคอน “Information Message”
MsgBoxStyle.DefultButton1                        0      ให1ป=lมแรกเป5นป=lม Default


                                                               -3-
VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com


ตารางท78 1 (ต3อ) การกFาหนดชนZดของป=lม (Buttons) ใน MsgBox ด-งน7
                    ค/าคงท*                        ค/าต;วเลข                               รายละเอยด
MsgBoxStyle.DefaultButton2                            256          ให1ป=lมท7สองเป5นป=lม Default
                                                                             8
MsgBoxStyle.DefaultButton3                            512          ให1ป=lมท7สามเป5นป=lม Default
                                                                               8
MsgBoxStyle.DefaultButton4                            768          ให1ป=lมท78สเ87 ป5นป=lม Default
MsgBoxStyle.ApplicationModal                           0           กF า หนดให1 MsgBox อยA 3 ใ นรA ป Application Modal ซY8 ง เป5 น
                                                                   Dialog Box ท78ต1องทFาการอย3างใดอย3างหนY8ง ใน MsgBox ก3อน
                                                                   ท78จะทFางานอDนต3อไป
                                                                                     8
MsgBoxStyle.SystemModal                              4096 กFาหนดให1 MsgBox อยA3ในรAป System Modal ซY8งเป5น Dialog
                                                          Box ท7สามารถทFางานไปพร1อมก-บ Window อDนได1
                                                                8                                 8
MsgBoxStyle.MsgBoxHelpButton                        16384 แสดงป=ม Help
                                                                  l
MsgBoxStyle.MsgBoxSetForeground                     65536 กFาหนดให1 MsgBox ไม3ได1เป5น Default Window
MsgBoxStyle.MsgBoxRight                            524288 กFาหนดให1ขอความชZดขวา
                                                                    1
MsgBoxStyle.MsgBoxRtlReading                      1048576 กFาหนดให1ข1อความปรากฏจากขวาไปซ1าย เพD8อการอ3านในภาษา
                                                          Hebrew และ Arabic


         ในกรณ7ท78ใช1 MsgBox (Message Box) ในล-กษณะของฟoงกKช-น Message Box จะส3งค3าป=lมท78ผA1ใช1เลDอกกล-บมาท78 Procedure ท78
เร7ยกใช1ฟoงกKชน ซY8งค3าท78ส3งกล-บมาท78 Procedure จะม7ความหมายด-งตาราง
              -

ตารางท78 2 ค3าท78ส3งกล-บมาท78 Procedure ของฟoงกKช-น MsgBox ด-งน7
                   ค/าคงท*                           ค/าต;วเลข                                    เหต4การณK
MsgBoxResult.OK                                             1                ผAใช1กดป=lม OK
                                                                               1
MsgBoxResult.Cancel                                         2                ผAใช1กดป=lม Cancel
                                                                                 1
MsgBoxResult.Abort                                          3                ผAใช1กดป=lม Abort
                                                                                   1
MsgBoxResult.Retry                                          4                ผAใช1กดป=lม Retry
                                                                                     1
MsgBoxResult.Ignore                                         5                ผAใช1กดป=lม Ignore
                                                                                       1
MsgBoxResult.Yes                                            6                ผAใช1กดป=lม Yes
                                                                                         1
MsgBoxResult.No                                             7                ผAใช1กดป=lม No1




                                                                -4-
VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com


ต-วอย3าง
           ให1ใช1ตวอย3างก3อนหน1าน7 โดยเพZ8มเตZมการทFางานเมDอคลZ_กท78ป=lม กOจะให1แสดง Message Box ขYนมา ด-งรAป
                  -                                         8




                                    รAปท78 5 ผลล-พธKหล-งจาก Run Program ด1วยคFาส-8ง MsgBox

           ให1เพZ8มเตZม Code ต3อจากบรรท-ดคFาส-8ง TextBox1.Text = “สว;สด” ด-งน7
                      MsgBox(“สว-สด7”, MsgBoxStyle.OkCancel, “MessageTitlebar”)

        คFาส-8ง MsgBox น-นเป5นคFาส-8งท7อยAใน VB6 และเรากOสามารถนFามาใช1ในโปรแกรม VB .NET ได1 แต3ทางท78ด7เราควรจะเข7ยน
                                        8 3
โปรแกรมตามเทคโนโลย7ของม-นจะด7กว3า ซY8งคFาส-8ง MessageBox ของ VB .NET จะแทนคFาส-8ง MsgBox ของ VB6 แต3ขอยFาอ7กคร-ง
ว3าเราสามารถใช1คFาส-8ง MsgBox ได1ในโปรแกรม VB .NET

การเรยกใชC MessageBox ของ VB .NET
          ม7ล- ก ษณะการทF า งานท7 8 คล1 า ยก- บคF าส- 8 ง MsgBox ซY8 งนZ ย มเข7 ย นใน VB6 แต3 .NET แล1ว จะใช1ค F าส- 8 ง MessageBox แทน
คFาส-8ง MsgBox

           ร8ปแบบของค:าส;ง
                         *
                           MessageBox.Show(“ข1อความ”, “ข1อความบน Titlebar”, MessageBoxButtons, Icon)

ตารางท78 3 การกFาหนดป=lมคFาส-8งท78ตองการให1แสดงบนไดอะลOอกบOอกซK (MessageBoxButtons) ด-งน7
                                   1
                 ค/า (Enumerated Value)                                          ความหมาย
MessageBoxButtons.AbortRetryIgnore                       แสดงป=มคFาส-8ง Abort, Retry และ Ignore
                                                                 l
MessageBoxButtons.OK                                     แสดงป=มคFาส-8ง OK
                                                                   l
MessageBoxButtons.OKCancel                               แสดงป=มคFาส-8ง OK และ Cancel
                                                                     l
MessageBoxButtons.RetryCancel                            แสดงป=มคFาส-8ง Retry และ Cancel
                                                                       l
MessageBoxButtons.YesNo                                  แสดงป=มคFาส-8ง Yes และ No
                                                                         l
MessageBoxButtons.YesNoCancel                            แสดงป=มคFาส-8ง Yes, No และ Cancel
                                                                           l




                                                                -5-
VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com


ตารางท78 4 ไอคอน (Icon) ท78ตองการให1แสดงบนไดอะลOอกบOอกซK ด-งน7
                            1
                              ค/า (Enumerated Value)                                         ร8ปไอคอนท*แสดง
MessageBoxIcon.Asterisk และ MessageBoxIcon.Information                               ต-วอ-กษร i
MessageBoxIcon.Error, MessageBoxIcon.Hand                 และ MessageBoxIcon.Stop    ต-วอ-กษร x
MessageBoxIcon.Exclamation           และ MessageBoxIcon.Warning                      เครD8องหมายตกใจ
MessageBoxIcon.Question                                                              เครD8องหมายคFาถาม
MessageBoxIcon.None                                                                  ไม3แสดงรAปไอคอนใด ๆ

ต-วอย3าง การใช1คFาส-8ง MessageBox
          ●    MessageBox.Show(“แจ1งข1อผZดพลาด”, “Error”, MessageBoxButtons.OK,
                            MessageBoxIcon.Information)
          ●    MessageBox.Show(“ค=ณต1องการบ-นทYกข1อมAลใช3หรDอไม3”, “Confirm”, MessageBoxButtons.YesNo,
                            MessageBoxIcon.Information)

         ให1ทดลองเปล7ยนคFาส-8งจากต-วอย3างก3อนหน1าน7 โดยทFาการเปล78ยนคFาส-8ง MsgBox เป5นคFาส-8ง MessageBox แทน
                     8

การเขยนโปรแกรมดCวยค:าส;งต;ดส%นใจ
                       *
         ใน VB ม7หลายคFาส-8ง แต3จะยกมาเพ7ยง 2 คFาส-8ง ได1แก3
             ● If
             ● Select Case



ค:าส;*ง if ... else
         ร8ปแบบค:าส;*ง
               ร8ปแบบท* 1 – If
                       If (เงD8อนไขท78ใช1ในการทดสอบ) Then
                                  คFาส-8ง ... (ทFางานเมD8อเงDอนไขเป5นจรZง)
                                                             8
                       End If
               ร8ปแบบท* 2 – If ... Else
                       If (เงD8อนไขท78ใช1ในการทดสอบ) Then
                                  คFาส-8ง ... (ทFางานเมD8อเงDอนไขเป5นจรZง)
                                                               8
                       Else
                                  คFาส-8ง ... (ทFางานเมD8อเงDอนไขเป5นเทOจ)
                                                                 8
                       End If




                                                               -6-
VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com


                  ร8ปแบบท* 3 – If ... ElseIf
                        If (เงD8อนไขท78ใช1ในการทดสอบ-1) Then
                                   คFาส-8ง ... (ทFางานเมD8อเงDอนไขเป5นจรZง-1)
                                                              8
                        ElseIf (เงD8อนไขท7ใช1ในการทดสอบ-2) Then
                                             8
                                   คFาส-8ง ... (ทFางานเมD8อเงDอนไขเป5นจรZง-2)
                                                                8
                        Else
                                   คFาส-8ง ... (ทFางานเมD8อเงDอนไขเป5นเทOจ)
                                                                  8
                        End If
                  ร8ปแบบท* 4 – IIf
                        ต-วแปร = IIf (เงD8อนไขท7ใช1ในการทดสอบ, “ค3าเมDอเงDอนไขเป5นจรZง”, “ค3าเมDอเงD8อนไขเป5นเทOจ”)
                                                    8                       8 8                 8

ต-วอย3าง การใช1คFาส-8ง If
         เป5นโปรแกรมท78ใช1ตรวจสอบค3าต-วเลข 1 ค3าท78ป€อนเข1าไปใน TextBox โดยใช1เงD8อนไขเพD8อทดสอบว3าม7ค3ามากกว3า 10
หรDอไม3 ถ1ามากกว3าให1แสดง MessageBox ด1วยข1อความว3า “ค3าท78ค=ณระบ=มากกว3า 10”




                                  รAปท78 6 หน1าจอการตรวจสอบค3าต-วเลข 1 ค3า โดยใช1คFาส-8ง If

เข7ยนโค1ดด-งน7




                                                  รAปท78 7 Coding โดยใช1คFาส-8ง If




                                                               -7-
VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com


ต-วอย3าง การใช1คFาส-8ง If ... Else
          เป5นโปรแกรมท78ใช1ตรวจสอบค3าต-วเลข 1 ค3าท78ป€อนเข1าไปใน TextBox โดยใช1เงD8อนไขเพD8อทดสอบว3าม7ค3ามากกว3า 10
หรD อ ไม3 ถ1 า มากกว3 า ให1 แ สดง MessageBox ด1 ว ยข1 อ ความว3 า “ค3 าท7 8ค = ณ ระบ= ม ากกว3 า 10” แต3ถ 1 า ไม3 ม ากกว3 า 10 ให1 แ สดง
MessageBox ด1วยข1อความว3า “ค3าท78คณระบ=ม7คาน1อยกว3า 10”
                                      =         3

เข7ยนโค1ดด-งน7




                                                รAปท78 8 Coding โดยใช1คFาส-8ง If ... Else

ต-วอย3าง การใช1คFาส-8ง If ... ElseIf
          เป5นโปรแกรมท78ใช1ตรวจสอบค3าต-วเลข 1 ค3าท78ป€อนเข1าไปใน TextBox โดยใช1เงD8อนไขเพD8อทดสอบว3าม7ค3ามากกว3า 10
หรD อ ไม3 ถ1 า มากกว3 า ให1 แ สดง MessageBox ด1 ว ยข1 อ ความว3 า “ค3 าท7 8ค = ณ ระบ= ม ากกว3 า 10” แต3ถ 1 า ไม3 ม ากกว3 า 10 ให1 แ สดง
MessageBox ด1 ว ยข1 อ ความว3 า “ค3 าท7 8ค = ณ ระบ=ม 7ค 3 าน1 อ ยกว3 า 10” และถ1 าต- ว เลขม7ค 3 า เท3 าก- บ 10 ให1 แ สดง MessageBox ด1 ว ย
ข1อความว3า “ค3าท78คณระบ=ม7คาเท3าก-บ 10”
                    =           3

เข7ยนโค1ดด-งน7




                                               รAปท78 9 Coding โดยใช1คFาส-8ง If ... ElseIf



                                                                 -8-
VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com


ต-วอย3าง การใช1คFาส-8ง IIf
          เป5นโปรแกรมท78ใช1ตรวจสอบค3าต-วเลข 1 ค3าท78ป€อนเข1าไปใน TextBox โดยใช1เงD8อนไขเพD8อทดสอบว3าม7ค3ามากกว3า 10
หรD อ ไม3 ถ1 า มากกว3 า ให1 แ สดง MessageBox ด1 ว ยข1 อ ความว3 า “ค3 าท7 8ค = ณ ระบ= ม ากกว3 า 10” แต3ถ 1 า ไม3 ม ากกว3 า 10 ให1 แ สดง
MessageBox ด1วยข1อความว3า “ค3าท78คณระบ=ม7คาน1อยกว3า 10”
                                      =         3

เข7ยนโค1ดด-งน7




                                                 รAปท78 10 Coding โดยใช1คFาส-8ง IIf

ค:าส;*ง Select Case
      ใช1สFาหรร-บการทFางานท7 8ม7หลายเงD8อ นไข ซY 8ง จรZง ๆ แล1วกOใช1 if ... else กOได1 แต3ถ1าหากม7หลายเงD8อ นไขกOใช1คFาส-8งน7 จะ
สะดวกกว3าเยอะคร-บ
      ร8ปแบบค:าส;*ง
              Select Case (เงD8อนไขท78ใช1ในการทดสอบ)
                      Case (เงD8อนไขท78 1)
                                คFาส-8ง ... (ทFางานเมD8อเงDอนไขท78 1)
                                                           8
                                ..........
                      Case (เงD8อนไขท78 2)
                                คFาส-8ง ... (ทFางานเมD8อเงDอนไขท78 2)
                                                             8
                                ..........
                      Case Else
                                คFาส-8ง ... (ทFางานเมD8อไม3ตรงก-บเงDอนไขใด ๆ)
                                                                     8
                                ..........
              End Select




                                                                -9-
VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com


ต-วอย3าง การใช1คFาส-8ง Select Case
        เป5นโปรแกรมทดสอบการพZมพKต-วอ-กษรลงใน TextBox ซY8งกFาหนดให1พZมพK a, b, c เท3าน-น ซY8งเมDอพZมพKเสรOจและคลZ_กป=lม
                                                                                                8
โปรแกรมกOจะแสดง MessageBox มาให1ทราบว3าเราพZมพKตวอะไรลงไป
                                                -




                               รAปท78 11 หน1าจอการตรวจสอบต-วอ-กษร โดยใช1คFาส-8ง Select Case

เข7ยนโค1ดได1ด-งน7




                                            รAปท78 12 Coding โดยใช1คFาส-8ง Select Case




                                                              - 10 -
VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com


การเขยนโปรแกรมดCวยค:าส;งวนรอบ
                       *
ค:าส;*ง For ... Next
         เป5นคFาส-8งวนรอบท78ใช1สFาหร-บการส-8งให1โปรแกรมทFางานเดZม ๆ เป5นจFานวนคร-งตามท78ต1องการ เช3น ต1องการให1พZมพK
ชDอตนเองมา 10 คร-ง เป5นต1น ประโยชนKของคFาส-8งน7คDอ ไม3ตองพZมพKหลายคFาส-8งหากต1องการให1ทางานเดZม ๆ ซFา ๆ
  8                                                         1                                   F
         ร8ปแบบค:าส;*ง
                   For ต-วแปร(integer) = ค3าเรZ8มต1น To ค3าส=ดท1าย [ Step <ค3าท78เพZ8มหรDอลดในแต3ละรอบ> ]
                            คFาส-8ง ...
                            [ Exit For ]
                   Next [ ต-วแปร ]
         อธ%บายเพ%*มเต%ม
         คFาส-8ง For เป5นคFาส-8งท78ส-8งให1โปรแกรมทFางานในจFานวนคร-งท78เรากFาหนดให1ทFางานก78รอบ โดยจะต1องกFาหนดค3าเรZ8มต1น
และค3าส=ดท1ายของรอบท78ต1องการทFางาน โดยค3าท78จะสามารถกFาหนดได1น-นต1องใช1ต-วแปร ซY8งจะต1องเป5นชนZดเลขจFานวนเตOม ซY8ง
จะส-งเกตได1จากหล-งคFาส-8ง For น-8นเอง ในบางคร-งเรากOสามารถเพZ8มหรDอลดได1ตามท78เราต1องการ แต3ถ1าเราไม3ระบ= คFาส-8ง For จะ
เข1าใจเองว3าให1ทาการเพZ8มหรDอลดลงท7ละ 1 ค3าเท3าน-น
                 F

ต-วอย3าง คFาส-8ง For ... Next
        เป5นโปรแกรมท78ต1องการให1พZมพKคFาว3า “ประเทศไทย” ออกมา 10 รอบ ใน ListBox เมDอผA1ใช1คลZ_กท78ป=lม
                                                                                   8




                                            รAปท78 13 หน1าจอการใช1คFาส-8ง For ... Next

เข7ยนโค1ดได1ด-งน7




                                            รAปท78 14 Coding โดยใช1คFาส-8ง For ... Next


                                                              - 11 -
VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com


         อธบายคาสง
               Dim i As Short -> เป5นการประกาศต-วแปร i เพD8อให1เป5นต-วน-บรอบ

                  For i = 1 to 10 -> ใช1กFาหนดจFานวนรอบ 10 รอบ
                  ListBox1.Items.Add(“ประเทศไทย ” & i) -> เป5นคFาส-8งท7ให1เพZ8มคFาว3าประเทศไทยเข1าไปใน ListBox
                                                                       8
                  Next i ใช1คA3ก-บ for โดยต1องเป5นต-วแปรต-วเด7ยวก-น

         เมDอเข7ยนโปรแกรมเสรOจกOลองร-นโปรแกรม โดยทFาการกดป=lม ซY8งจะได1ผลล-พธKด-งน7
            8




                                   รAปท78 15 ผลล-พธKหล-งจากกดป=lม โดยใช1คFาส-8ง For ... Next

ค:าส;*ง While ... End While
          เป5นคFาส-8งวนรอบอ7กคFาส-8งหนY8งท78ไม3ได1กFาหนดรอบไว1ต-งแต3เรZ8มต1น แต3เป5นการกFาหนดเงD8อนไขท78ให1ทFาคFาส-8งเดZมซFา ๆ
ตราบเท3าท7เ8 งD8อนไขเป5นจรZง ๆ ซY8งโปรแกรมจะทFาการตรวจสอบเงDอนไขก3อนท7จะเข1าไปทFางานใน block คFาส-8ง หากโปรแกรมพบว3า
                                                                8            8
เงD8อนไขเป5นเทOจกOจะออกจากการทFางานแบบวนรอบน7
          ร8ปแบบค:าส;*ง
                    While เงD8อนไข
                              คFาส-8ง ...
                              การเพZมค3า ...
                                      8
                              [ Exit While ]
                    End While




                                                              - 12 -
VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com


ต-วอย3าง
       เป5นล-กษณะเหมDอนก-บคFาส-8ง For นะคร-บ โดยจะทFาการตรวจสอบเงD8อนไขก3อนท78จะทFางาน ด-งน-นลองสร1างหน1าจอ
โปรแกรมด-งต-วอย3างคFาส-8ง For และเข7ยนโค1ดด-งน7




                                        รAปท78 16 Coding โดยใช1คFาส-8ง While ... End While

         อธบายคาสง
                  Dim i As Short = 1 -> เป5นการประกาศต-วแปร i เพD8อใช1เป5นต-วน-บรอบ และกFาหนดค3าเรZ8มต1นม7ค3าเท3าก-บ 1
แต3ถ1าเราไม3ได1กาหนดค3าเรZ8มต1นให1ก-บต-วแปร ค3า Default กOคอ 0
                F                                           D
                  While i <= 10 -> เมDอ i ม7ค3าน1อยกว3าหรDอเท3าก-บ 10 กOให1ทางาน
                                       8                                     F
                           ListBox1.Items.Add(“ประเทศไทย รอบท7 8 : ” & i) -> เป5นคFาส-8งท78ให1เพZ8มคFาว3าประเทศไทยเข1า ไปใน
Listbox โดยให1แสดงรอบด1วย
                           i += 1 -> เพZ8มค3า i เพD8อให1จานวนรอบเพZ8มขYนท7ละ 1 ซY8งอาจเข7ยนอ7กรAปแบบ คDอ i = i + 1
                                                         F             
                  End While -> จบคFาส-8ง While

สFาหร-บคFาส-8ง while น7อาจจะประย=กตKใช1ก-บฐานข1อมAลได1เช3นก-น โดยอาจจะใช1สFาหร-บการแสดงข1อมAลในฐานข1อมAล เช3น ให1อ3าน
ข1อมAลจนกว3าจะหมด เป5นต1น




                                                              - 13 -
VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com


ค:าส;*ง Do While ... Loop
        เป5นคFาส-8งวนรอบอ7กคFาส-8งหนY8ง ท78ไม3ได1กFาหนดรอบไว1ต-งแต3เรZ8มต1น แต3เป5นการกFาหนดเงD8อนไขท78ให1ทFาคFาส-8งเดZมซFา ๆ
ตราบเท3าท7เ8 งD8อนไขเป5นจรZง ๆ
        ร8ปแบบค:าส;*ง
                    Do While เงD8อนไข
                             คFาส-8ง ...
                             [ Exit Do ]
                    Loop

ลองเข7ยนคFาส-8งด-งต-วอย3างด-งน7 แล1วลองร-นโปรแกรม




                                         รAปท78 17 Coding โดยใช1คFาส-8ง Do While ... Loop

         อธบายคาสง
                  Dim i As Short = 1 -> เป5นการประกาศต-วแปร i เพD8อใช1เป5นต-วน-บรอบ และกFาหนดค3าเรZ8มต1นม7ค3าเท3าก-บ 1
แต3ถ1าเราไม3ได1กาหนดค3าเรZ8มต1นให1ก-บต-วแปร ค3า Default กOคอ 0
                F                                           D
                  Do While (i <= 10) -> เมDอ i ม7คาน1อยกว3าหรDอเท3าก-บ 10 กOให1ทางาน
                                             8       3                             F
                           ListBox1.Items.Add(“ประเทศไทย รอบท7 8 : ” & i) -> เป5นคFาส-8งท78ให1เพZ8มคFาว3าประเทศไทยเข1า ไปใน
Listbox โดยให1แสดงรอบด1วย
                           i += 1 -> เพZ8มค3า i เพD8อให1จานวนรอบเพZ8มขYนท7ละ 1 ซY8งอาจเข7ยนอ7กรAปแบบ คDอ i = i + 1
                                                         F             
                  Loop -> จบคFาส-8ง While




                                                              - 14 -
VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com


ค:าส;*ง Do ... Loop Until
        เป5นคFาส-8งวนรอบอ7กคFาส-8งหนY8ง แต3คFาส-8ง Do ... Loop Until จะม7ล-กษณะการทFางานท78แตกต3างก-บคFาส-8งการวนรอบ คDอ
จะทFางานไปก3อนและตรวจสอบเงD8อนไขท7หล-ง ถ1าเงD8อนไขเป5นเทOจจะทFางานซFาอ7กคร-ง จนกระท-8งเงD8อนไขเป5นจรZงถYงจะหย=ดการทFา
งาน
        ร8ปแบบค:าส;*ง
                  Do
                         คFาส-8ง ...
                         [ Exit Do ]
                  Loop Until เงD8อนไข

ลองเข7ยนคFาส-8งด-งต-วอย3างด-งน7 แล1วลองร-นโปรแกรม




                                         รAปท78 18 Coding โดยใช1คFาส-8ง Do ... Loop Until

          อธบายคาสง
                    Dim i As Short = 1 -> เป5นการประกาศต-วแปร i เพD8อใช1เป5นต-วน-บรอบ และกFาหนดค3าเรZ8มต1นม7ค3าเท3าก-บ 1
แต3ถ1าเราไม3ได1กาหนดค3าเรZ8มต1นให1ก-บต-วแปร ค3า Default กOคอ 0
                F                                             D
                    Do
                             ListBox1.Items.Add(“ประเทศไทย รอบท7 8 : ” & i) -> เป5นคFาส-8งท78ให1เพZ8มคFาว3าประเทศไทยเข1า ไปใน
Listbox โดยให1แสดงรอบด1วย
                             i += 1 -> เพZ8มค3า i เพD8อให1จานวนรอบเพZ8มขYนท7ละ 1 ซY8งอาจเข7ยนอ7กรAปแบบ คDอ i = i + 1
                                                           F             
                    Loop Until (i > 10) -> เมD8อ i ม7ค3ามากกว3า 10 กOให1ทFาจบการทFางาน แต3ถ1าน1อยกว3าหรDอเท3าก-บ 10 จะกล-บ
ขYนไปทFาซาอ7กคร-ง
           F

หมายเหต4
         จากเนDอหาท78ให1เป5นเพ7ยงต-วอย3างการเข7ยนและการทFางานเท3าน-น จรZง ๆ แล1วม7อะไรอ7กมากมาย เราจะต1องทFาการ
ศYกษาเพZ8มเตZมการทFางานของ Control ต3าง ๆ ไม3ว3าจะเป5น Event หรDอ Properties รวมถYงคFาส-8งต3าง ๆ ท7ไม3ได1อธZบายได1หมด และ
                                                                                                   8
ท78สาค-ญกOคDอ เราจะต1องทFาการฝŠกฝนก-บการเข7ยนโปรแกรมประเภทน7อ7กด1วย
    F



                                                              - 15 -

More Related Content

More from Warawut

Database design
Database designDatabase design
Database designWarawut
 
Business Computer Project 4
Business Computer Project 4Business Computer Project 4
Business Computer Project 4Warawut
 
Object-Oriented Programming 10
Object-Oriented Programming 10Object-Oriented Programming 10
Object-Oriented Programming 10Warawut
 
Object-Oriented Programming 9
Object-Oriented Programming 9Object-Oriented Programming 9
Object-Oriented Programming 9Warawut
 
Object-Oriented Programming 8
Object-Oriented Programming 8Object-Oriented Programming 8
Object-Oriented Programming 8Warawut
 
Object-Oriented Programming 7
Object-Oriented Programming 7Object-Oriented Programming 7
Object-Oriented Programming 7Warawut
 
Object-Oriented Programming 6
Object-Oriented Programming 6Object-Oriented Programming 6
Object-Oriented Programming 6Warawut
 
Management Information System 6
Management Information System 6Management Information System 6
Management Information System 6Warawut
 
Management Information System 5
Management Information System 5Management Information System 5
Management Information System 5Warawut
 
Management Information System 4
Management Information System 4Management Information System 4
Management Information System 4Warawut
 
Object-Oriented Programming 5
Object-Oriented Programming 5Object-Oriented Programming 5
Object-Oriented Programming 5Warawut
 
Business Computer Project 3
Business Computer Project 3Business Computer Project 3
Business Computer Project 3Warawut
 
Management Information System 3
Management Information System 3Management Information System 3
Management Information System 3Warawut
 
Business Computer Project 2
Business Computer Project 2Business Computer Project 2
Business Computer Project 2Warawut
 
Chapter 2 Strategy & Information System
Chapter 2 Strategy & Information SystemChapter 2 Strategy & Information System
Chapter 2 Strategy & Information SystemWarawut
 
Object-Oriented Programming 4
Object-Oriented Programming 4Object-Oriented Programming 4
Object-Oriented Programming 4Warawut
 
Business Computer Project 1
Business Computer Project 1Business Computer Project 1
Business Computer Project 1Warawut
 
Chapter 1 Organization & MIS
Chapter 1 Organization & MISChapter 1 Organization & MIS
Chapter 1 Organization & MISWarawut
 
Object-Oriented Programming 3
Object-Oriented Programming 3Object-Oriented Programming 3
Object-Oriented Programming 3Warawut
 
Object-Oriented Programming 2
Object-Oriented Programming 2Object-Oriented Programming 2
Object-Oriented Programming 2Warawut
 

More from Warawut (20)

Database design
Database designDatabase design
Database design
 
Business Computer Project 4
Business Computer Project 4Business Computer Project 4
Business Computer Project 4
 
Object-Oriented Programming 10
Object-Oriented Programming 10Object-Oriented Programming 10
Object-Oriented Programming 10
 
Object-Oriented Programming 9
Object-Oriented Programming 9Object-Oriented Programming 9
Object-Oriented Programming 9
 
Object-Oriented Programming 8
Object-Oriented Programming 8Object-Oriented Programming 8
Object-Oriented Programming 8
 
Object-Oriented Programming 7
Object-Oriented Programming 7Object-Oriented Programming 7
Object-Oriented Programming 7
 
Object-Oriented Programming 6
Object-Oriented Programming 6Object-Oriented Programming 6
Object-Oriented Programming 6
 
Management Information System 6
Management Information System 6Management Information System 6
Management Information System 6
 
Management Information System 5
Management Information System 5Management Information System 5
Management Information System 5
 
Management Information System 4
Management Information System 4Management Information System 4
Management Information System 4
 
Object-Oriented Programming 5
Object-Oriented Programming 5Object-Oriented Programming 5
Object-Oriented Programming 5
 
Business Computer Project 3
Business Computer Project 3Business Computer Project 3
Business Computer Project 3
 
Management Information System 3
Management Information System 3Management Information System 3
Management Information System 3
 
Business Computer Project 2
Business Computer Project 2Business Computer Project 2
Business Computer Project 2
 
Chapter 2 Strategy & Information System
Chapter 2 Strategy & Information SystemChapter 2 Strategy & Information System
Chapter 2 Strategy & Information System
 
Object-Oriented Programming 4
Object-Oriented Programming 4Object-Oriented Programming 4
Object-Oriented Programming 4
 
Business Computer Project 1
Business Computer Project 1Business Computer Project 1
Business Computer Project 1
 
Chapter 1 Organization & MIS
Chapter 1 Organization & MISChapter 1 Organization & MIS
Chapter 1 Organization & MIS
 
Object-Oriented Programming 3
Object-Oriented Programming 3Object-Oriented Programming 3
Object-Oriented Programming 3
 
Object-Oriented Programming 2
Object-Oriented Programming 2Object-Oriented Programming 2
Object-Oriented Programming 2
 

Programming VB.NET 2005 Express Editor

  • 1. VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com การเขยนโปรแกรมภาษา VB .NET 2005 Express Edition โปรแกรมภาษา Visual Basic น- บ ได1ว 3 า เป5 น ภาษาท7 8ม 7 ค วามง3 า ยท7 8ส = ด ในบรรดาท= ก ภาษาท7 8 บ รรจ= อยA 3 ใ น Visual Studio เนD8องจากว3าม7รAปแบบท7ไม3ยาก ไม3ม7ขอกFาหนดหรDอกฎเกณฑKอะไรมากมายน-ก และม7เส1นแบ3งระหว3าง Event เพD8อให1เหOนง3ายอ7กด1วย 8 1 สFาหร-บการเข7ยนโปรแกรม (Code) ให1ก-บโปรเจOกตKของ Visual Basic สามารถแบ3งได1 2 ประเภทใหญ3 ๆ คDอ 1. การเข7ยนโปรแกรมก-บ Control 2. การเข7ยนโปรแกรมด1วยคFาส-8งต3าง ๆ ของ Visual Basic ซY8งก3อนอD8นต1องมาทFาความค=1นเคยก-บหน1าต3าง Code ก3อน ว%ธการเรยก Code วZธ7การเร7ยก Code ม7หลายวZธ7ด1วยก-น แต3จะขอแนะนFา 2 วZธ7ด-งน7 1. Double Click ท78 Control ใด ๆ กOได1รวมท-งฟอรKมด1วย 2. คลZ_กขวาเลDอกชDอฟอรKมท78 Project Explorer แล1วเลDอกเมนA View Code 8 6. Tab 3.ชDอ control 8 4. ชDอ event 8 control event 5. ส3ว นเข7ยน code รAปท78 1 ส3วนประกอบของหน1าต3างการเข7ยนโปรแกรม 3. ช)*อ Control หมายถYง เป5น Combo Box ท78รวมรายชD8อ Control ท=กต-วท78เราวาดลงบนฟอรKม โดยจะเอาชD8อท78 มาแสดงจาก Properties Name ของท=ก Control ยกเว1น ฟอรKม (Form) อ-นเด7ยวเท3าน-นท78ย-งคงใช1คFาว3า Form 4. ช)*อ Event ก3อนอDน ต1องมาทFาความเข1าใจคFาว3า “Event” ก3อน 8 Event ถ1าแปลเป5นภาษาไทยกOแปลว3า “เหต=การณK” คDอ เหต=การณKหนY8ง ๆ ท78เกZดขYนก-บ Control ซY8งท=ก Control จะต1องม7เหต=การณK เช3น เหต=การณK Click ของ Command Button หมายถYง เมD8อผA1ใช1คลZ_กท78ป=lมหรDอเหต=การณK Load ของ Form หมายถYง เมDอฟอรKมถAกโหลดขYนมา เป5นต1น ซY8งแต3ละ Control จะม7เหต=การณKไม3เหมDอนก-น 8 5. ส/ว นเขยน Code เป5นส3วนท7 8เราเข7ยน Code การทFางานตามเหต=การณK (Event) ท78เราต1องการ หรDอ Event ของใครของม-น 6. Tab เป5นส3วนท78แสดงหน1า Code และส3วนท78ออกแบบไว1คนละส3วนก-น ซY8งผA1ใช1สามารถคลZ_กสล-บไปมาได1 โดยไม3 ต1อง Double Click ท78 Control ท=กคร-งหากต1องการไปแสดงหน1าต3าง code หมายเหต4: เราสามารถทราบได1ว3า ณ ปoจจ=บ-นน7เราเข7ยน Code ของ Control อะไร และเป5น Event อะไร ได1 โดยส-งเกตจากส3วนห-ว ของฟoงกKช-8นการทFางานน-น ๆ เช3น Form1_Load น-นกOหมายความว3า ณ ตอนน7เราเข7ยนท7 8 Form โดยใช1 Event OnLoad น-8นเอง โดยม7ขดเส1นใต1 (Underline) ค-นระหว3างชD8อ Control ก-บ Event 7 8 -1-
  • 2. VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com การเขยนโปรแกรมควบค4ม Control หมายถYง การเข7ยนโปรแกรมเพD8อควบค=มค=ณสมบ-ตZของ Control ให1ม7ค=ณสมบ-ตZเป5นแบบไม3คงท78ได1ในขณะร-นโปรแกรม ซY8งโดยปกตZ Control หนY8ง ๆ จะม7ค=ณสมบ-ตเZ บDองต1นและในส3วนท7เ8 รากFาหนดในหน1าต3าง Properties Window ร8ปแบบของค:าส;ง * Control-Name.Property = Value หมายเหต=: ต1องรA1จ-กชD8อ Control ซY8ง VB จะหาชD8อ Control ให1ก-บเรา เมD8อเราพZมพKคFาส-8งลงไป และเมD8อได1ชD8อ Control แล1วเรา กOตองพZมพKตามด1วย จ=ด (.) แล1วหน1าต3าง Properties กOจะปรากฏขYนมาให1อ-ตโนม-ตZ ด-งต-วอย3างต3อไปน7 1 ต-วอย3าง จาก Form1 ม7 Control TextBox และ Command Button อย3 า งละ 1 อ-น จากน- น เราจะเข7 ย นโปรแกรมเพD 8 อกF า หนดส7 พDนหล-งของ TextBox จากส7เข7ยว ให1เป5นส7นFาเงZน และให1ม7ข1อความว3า “สว-สด7” โดยเหต=การณKท-งหมดจะเกZดขYนเมD8อเราคลZ_กป=lม สามารถทFาได1ด-งน7 รAปท78 2 หน1าจอของต-วอย3างท78กFาหนดให1 ต-วอย3างโค1ดโปรแกรม ด-งรAป รAปท78 3 การเข7ยนโปรแกรมควบค=ม Control TextBox1 ท78 Button1 Event OnClick (Button1_Click) -2-
  • 3. VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com ผลล-พธKเมDอร-นโปรแกรม 8 รAปท78 4 หน1าจอผลล-พธKเมDอร-นโปรแกรมจากต-วอย3าง 8 ส3วนการเข7ยนโปรแกรมเพD8อควบค=มค=ณสมบ-ตZ Control ต-วอD8น ๆ กOสามารถทFาได1โดยใช1หล-กการเด7ยวก-นน7คร-บ การเรยกใชC Message Box Message Box เป5นรAปแบบท78สFาค-ญของการเข7ยนโปรแกรมบน Windows เนD8องจากเป5นต-วบรรจ=ข3าวสารจากโปรแกรม แจ1งไปย-งผA1ใช1งาน ไม3วาจะเป5นข3าวสารท-วไปหรDอข1อความเตDอนอD8น ๆ 3 8 ร8ปแบบของค:าส;ง * MsgBox(“ข1อความ”, MsgBoxStyle, “ข1อความบน Titlebar”) ตารางท78 1 การกFาหนดชนZดของป=lม (Buttons) ใน MsgBox ด-งน7 ค/าคงท* ค/าต;วเลข รายละเอยด MsgBoxStyle.OKOnly 0 สFาหร-บแสดงป=lม OK MsgBoxStyle.OKCancel 1 สFาหร-บแสดงป=lม OK, Cancel MsgBoxStyle.AbortRetryIgnore 2 สFาหร-บแสดงป=lม Abort, Retry, Ignore MsgBoxStyle.YesNoCancel 3 สFาหร-บแสดงป=lม Yes, No, Cancel MsgBoxStyle.YesNo 4 สFาหร-บแสดงป=lม Yes, No MsgBoxStyle.RetryCancel 5 สFาหร-บแสดงป=lม Retry, Cancel MsgBoxStyle.Critical 16 สFาหร-บแสดงไอคอน “Critical Message” MsgBoxStyle.Question 32 สFาหร-บแสดงไอคอน “Warning Query” MsgBoxStyle.Exclamation 48 สFาหร-บแสดงไอคอน “Warning Message” MsgBoxStyle.Information 64 สFาหร-บแสดงไอคอน “Information Message” MsgBoxStyle.DefultButton1 0 ให1ป=lมแรกเป5นป=lม Default -3-
  • 4. VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com ตารางท78 1 (ต3อ) การกFาหนดชนZดของป=lม (Buttons) ใน MsgBox ด-งน7 ค/าคงท* ค/าต;วเลข รายละเอยด MsgBoxStyle.DefaultButton2 256 ให1ป=lมท7สองเป5นป=lม Default 8 MsgBoxStyle.DefaultButton3 512 ให1ป=lมท7สามเป5นป=lม Default 8 MsgBoxStyle.DefaultButton4 768 ให1ป=lมท78สเ87 ป5นป=lม Default MsgBoxStyle.ApplicationModal 0 กF า หนดให1 MsgBox อยA 3 ใ นรA ป Application Modal ซY8 ง เป5 น Dialog Box ท78ต1องทFาการอย3างใดอย3างหนY8ง ใน MsgBox ก3อน ท78จะทFางานอDนต3อไป 8 MsgBoxStyle.SystemModal 4096 กFาหนดให1 MsgBox อยA3ในรAป System Modal ซY8งเป5น Dialog Box ท7สามารถทFางานไปพร1อมก-บ Window อDนได1 8 8 MsgBoxStyle.MsgBoxHelpButton 16384 แสดงป=ม Help l MsgBoxStyle.MsgBoxSetForeground 65536 กFาหนดให1 MsgBox ไม3ได1เป5น Default Window MsgBoxStyle.MsgBoxRight 524288 กFาหนดให1ขอความชZดขวา 1 MsgBoxStyle.MsgBoxRtlReading 1048576 กFาหนดให1ข1อความปรากฏจากขวาไปซ1าย เพD8อการอ3านในภาษา Hebrew และ Arabic ในกรณ7ท78ใช1 MsgBox (Message Box) ในล-กษณะของฟoงกKช-น Message Box จะส3งค3าป=lมท78ผA1ใช1เลDอกกล-บมาท78 Procedure ท78 เร7ยกใช1ฟoงกKชน ซY8งค3าท78ส3งกล-บมาท78 Procedure จะม7ความหมายด-งตาราง - ตารางท78 2 ค3าท78ส3งกล-บมาท78 Procedure ของฟoงกKช-น MsgBox ด-งน7 ค/าคงท* ค/าต;วเลข เหต4การณK MsgBoxResult.OK 1 ผAใช1กดป=lม OK 1 MsgBoxResult.Cancel 2 ผAใช1กดป=lม Cancel 1 MsgBoxResult.Abort 3 ผAใช1กดป=lม Abort 1 MsgBoxResult.Retry 4 ผAใช1กดป=lม Retry 1 MsgBoxResult.Ignore 5 ผAใช1กดป=lม Ignore 1 MsgBoxResult.Yes 6 ผAใช1กดป=lม Yes 1 MsgBoxResult.No 7 ผAใช1กดป=lม No1 -4-
  • 5. VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com ต-วอย3าง ให1ใช1ตวอย3างก3อนหน1าน7 โดยเพZ8มเตZมการทFางานเมDอคลZ_กท78ป=lม กOจะให1แสดง Message Box ขYนมา ด-งรAป - 8 รAปท78 5 ผลล-พธKหล-งจาก Run Program ด1วยคFาส-8ง MsgBox ให1เพZ8มเตZม Code ต3อจากบรรท-ดคFาส-8ง TextBox1.Text = “สว;สด” ด-งน7 MsgBox(“สว-สด7”, MsgBoxStyle.OkCancel, “MessageTitlebar”) คFาส-8ง MsgBox น-นเป5นคFาส-8งท7อยAใน VB6 และเรากOสามารถนFามาใช1ในโปรแกรม VB .NET ได1 แต3ทางท78ด7เราควรจะเข7ยน 8 3 โปรแกรมตามเทคโนโลย7ของม-นจะด7กว3า ซY8งคFาส-8ง MessageBox ของ VB .NET จะแทนคFาส-8ง MsgBox ของ VB6 แต3ขอยFาอ7กคร-ง ว3าเราสามารถใช1คFาส-8ง MsgBox ได1ในโปรแกรม VB .NET การเรยกใชC MessageBox ของ VB .NET ม7ล- ก ษณะการทF า งานท7 8 คล1 า ยก- บคF าส- 8 ง MsgBox ซY8 งนZ ย มเข7 ย นใน VB6 แต3 .NET แล1ว จะใช1ค F าส- 8 ง MessageBox แทน คFาส-8ง MsgBox ร8ปแบบของค:าส;ง * MessageBox.Show(“ข1อความ”, “ข1อความบน Titlebar”, MessageBoxButtons, Icon) ตารางท78 3 การกFาหนดป=lมคFาส-8งท78ตองการให1แสดงบนไดอะลOอกบOอกซK (MessageBoxButtons) ด-งน7 1 ค/า (Enumerated Value) ความหมาย MessageBoxButtons.AbortRetryIgnore แสดงป=มคFาส-8ง Abort, Retry และ Ignore l MessageBoxButtons.OK แสดงป=มคFาส-8ง OK l MessageBoxButtons.OKCancel แสดงป=มคFาส-8ง OK และ Cancel l MessageBoxButtons.RetryCancel แสดงป=มคFาส-8ง Retry และ Cancel l MessageBoxButtons.YesNo แสดงป=มคFาส-8ง Yes และ No l MessageBoxButtons.YesNoCancel แสดงป=มคFาส-8ง Yes, No และ Cancel l -5-
  • 6. VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com ตารางท78 4 ไอคอน (Icon) ท78ตองการให1แสดงบนไดอะลOอกบOอกซK ด-งน7 1 ค/า (Enumerated Value) ร8ปไอคอนท*แสดง MessageBoxIcon.Asterisk และ MessageBoxIcon.Information ต-วอ-กษร i MessageBoxIcon.Error, MessageBoxIcon.Hand และ MessageBoxIcon.Stop ต-วอ-กษร x MessageBoxIcon.Exclamation และ MessageBoxIcon.Warning เครD8องหมายตกใจ MessageBoxIcon.Question เครD8องหมายคFาถาม MessageBoxIcon.None ไม3แสดงรAปไอคอนใด ๆ ต-วอย3าง การใช1คFาส-8ง MessageBox ● MessageBox.Show(“แจ1งข1อผZดพลาด”, “Error”, MessageBoxButtons.OK, MessageBoxIcon.Information) ● MessageBox.Show(“ค=ณต1องการบ-นทYกข1อมAลใช3หรDอไม3”, “Confirm”, MessageBoxButtons.YesNo, MessageBoxIcon.Information) ให1ทดลองเปล7ยนคFาส-8งจากต-วอย3างก3อนหน1าน7 โดยทFาการเปล78ยนคFาส-8ง MsgBox เป5นคFาส-8ง MessageBox แทน 8 การเขยนโปรแกรมดCวยค:าส;งต;ดส%นใจ * ใน VB ม7หลายคFาส-8ง แต3จะยกมาเพ7ยง 2 คFาส-8ง ได1แก3 ● If ● Select Case ค:าส;*ง if ... else ร8ปแบบค:าส;*ง ร8ปแบบท* 1 – If If (เงD8อนไขท78ใช1ในการทดสอบ) Then คFาส-8ง ... (ทFางานเมD8อเงDอนไขเป5นจรZง) 8 End If ร8ปแบบท* 2 – If ... Else If (เงD8อนไขท78ใช1ในการทดสอบ) Then คFาส-8ง ... (ทFางานเมD8อเงDอนไขเป5นจรZง) 8 Else คFาส-8ง ... (ทFางานเมD8อเงDอนไขเป5นเทOจ) 8 End If -6-
  • 7. VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com ร8ปแบบท* 3 – If ... ElseIf If (เงD8อนไขท78ใช1ในการทดสอบ-1) Then คFาส-8ง ... (ทFางานเมD8อเงDอนไขเป5นจรZง-1) 8 ElseIf (เงD8อนไขท7ใช1ในการทดสอบ-2) Then 8 คFาส-8ง ... (ทFางานเมD8อเงDอนไขเป5นจรZง-2) 8 Else คFาส-8ง ... (ทFางานเมD8อเงDอนไขเป5นเทOจ) 8 End If ร8ปแบบท* 4 – IIf ต-วแปร = IIf (เงD8อนไขท7ใช1ในการทดสอบ, “ค3าเมDอเงDอนไขเป5นจรZง”, “ค3าเมDอเงD8อนไขเป5นเทOจ”) 8 8 8 8 ต-วอย3าง การใช1คFาส-8ง If เป5นโปรแกรมท78ใช1ตรวจสอบค3าต-วเลข 1 ค3าท78ป€อนเข1าไปใน TextBox โดยใช1เงD8อนไขเพD8อทดสอบว3าม7ค3ามากกว3า 10 หรDอไม3 ถ1ามากกว3าให1แสดง MessageBox ด1วยข1อความว3า “ค3าท78ค=ณระบ=มากกว3า 10” รAปท78 6 หน1าจอการตรวจสอบค3าต-วเลข 1 ค3า โดยใช1คFาส-8ง If เข7ยนโค1ดด-งน7 รAปท78 7 Coding โดยใช1คFาส-8ง If -7-
  • 8. VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com ต-วอย3าง การใช1คFาส-8ง If ... Else เป5นโปรแกรมท78ใช1ตรวจสอบค3าต-วเลข 1 ค3าท78ป€อนเข1าไปใน TextBox โดยใช1เงD8อนไขเพD8อทดสอบว3าม7ค3ามากกว3า 10 หรD อ ไม3 ถ1 า มากกว3 า ให1 แ สดง MessageBox ด1 ว ยข1 อ ความว3 า “ค3 าท7 8ค = ณ ระบ= ม ากกว3 า 10” แต3ถ 1 า ไม3 ม ากกว3 า 10 ให1 แ สดง MessageBox ด1วยข1อความว3า “ค3าท78คณระบ=ม7คาน1อยกว3า 10” = 3 เข7ยนโค1ดด-งน7 รAปท78 8 Coding โดยใช1คFาส-8ง If ... Else ต-วอย3าง การใช1คFาส-8ง If ... ElseIf เป5นโปรแกรมท78ใช1ตรวจสอบค3าต-วเลข 1 ค3าท78ป€อนเข1าไปใน TextBox โดยใช1เงD8อนไขเพD8อทดสอบว3าม7ค3ามากกว3า 10 หรD อ ไม3 ถ1 า มากกว3 า ให1 แ สดง MessageBox ด1 ว ยข1 อ ความว3 า “ค3 าท7 8ค = ณ ระบ= ม ากกว3 า 10” แต3ถ 1 า ไม3 ม ากกว3 า 10 ให1 แ สดง MessageBox ด1 ว ยข1 อ ความว3 า “ค3 าท7 8ค = ณ ระบ=ม 7ค 3 าน1 อ ยกว3 า 10” และถ1 าต- ว เลขม7ค 3 า เท3 าก- บ 10 ให1 แ สดง MessageBox ด1 ว ย ข1อความว3า “ค3าท78คณระบ=ม7คาเท3าก-บ 10” = 3 เข7ยนโค1ดด-งน7 รAปท78 9 Coding โดยใช1คFาส-8ง If ... ElseIf -8-
  • 9. VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com ต-วอย3าง การใช1คFาส-8ง IIf เป5นโปรแกรมท78ใช1ตรวจสอบค3าต-วเลข 1 ค3าท78ป€อนเข1าไปใน TextBox โดยใช1เงD8อนไขเพD8อทดสอบว3าม7ค3ามากกว3า 10 หรD อ ไม3 ถ1 า มากกว3 า ให1 แ สดง MessageBox ด1 ว ยข1 อ ความว3 า “ค3 าท7 8ค = ณ ระบ= ม ากกว3 า 10” แต3ถ 1 า ไม3 ม ากกว3 า 10 ให1 แ สดง MessageBox ด1วยข1อความว3า “ค3าท78คณระบ=ม7คาน1อยกว3า 10” = 3 เข7ยนโค1ดด-งน7 รAปท78 10 Coding โดยใช1คFาส-8ง IIf ค:าส;*ง Select Case ใช1สFาหรร-บการทFางานท7 8ม7หลายเงD8อ นไข ซY 8ง จรZง ๆ แล1วกOใช1 if ... else กOได1 แต3ถ1าหากม7หลายเงD8อ นไขกOใช1คFาส-8งน7 จะ สะดวกกว3าเยอะคร-บ ร8ปแบบค:าส;*ง Select Case (เงD8อนไขท78ใช1ในการทดสอบ) Case (เงD8อนไขท78 1) คFาส-8ง ... (ทFางานเมD8อเงDอนไขท78 1) 8 .......... Case (เงD8อนไขท78 2) คFาส-8ง ... (ทFางานเมD8อเงDอนไขท78 2) 8 .......... Case Else คFาส-8ง ... (ทFางานเมD8อไม3ตรงก-บเงDอนไขใด ๆ) 8 .......... End Select -9-
  • 10. VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com ต-วอย3าง การใช1คFาส-8ง Select Case เป5นโปรแกรมทดสอบการพZมพKต-วอ-กษรลงใน TextBox ซY8งกFาหนดให1พZมพK a, b, c เท3าน-น ซY8งเมDอพZมพKเสรOจและคลZ_กป=lม 8 โปรแกรมกOจะแสดง MessageBox มาให1ทราบว3าเราพZมพKตวอะไรลงไป - รAปท78 11 หน1าจอการตรวจสอบต-วอ-กษร โดยใช1คFาส-8ง Select Case เข7ยนโค1ดได1ด-งน7 รAปท78 12 Coding โดยใช1คFาส-8ง Select Case - 10 -
  • 11. VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com การเขยนโปรแกรมดCวยค:าส;งวนรอบ * ค:าส;*ง For ... Next เป5นคFาส-8งวนรอบท78ใช1สFาหร-บการส-8งให1โปรแกรมทFางานเดZม ๆ เป5นจFานวนคร-งตามท78ต1องการ เช3น ต1องการให1พZมพK ชDอตนเองมา 10 คร-ง เป5นต1น ประโยชนKของคFาส-8งน7คDอ ไม3ตองพZมพKหลายคFาส-8งหากต1องการให1ทางานเดZม ๆ ซFา ๆ 8 1 F ร8ปแบบค:าส;*ง For ต-วแปร(integer) = ค3าเรZ8มต1น To ค3าส=ดท1าย [ Step <ค3าท78เพZ8มหรDอลดในแต3ละรอบ> ] คFาส-8ง ... [ Exit For ] Next [ ต-วแปร ] อธ%บายเพ%*มเต%ม คFาส-8ง For เป5นคFาส-8งท78ส-8งให1โปรแกรมทFางานในจFานวนคร-งท78เรากFาหนดให1ทFางานก78รอบ โดยจะต1องกFาหนดค3าเรZ8มต1น และค3าส=ดท1ายของรอบท78ต1องการทFางาน โดยค3าท78จะสามารถกFาหนดได1น-นต1องใช1ต-วแปร ซY8งจะต1องเป5นชนZดเลขจFานวนเตOม ซY8ง จะส-งเกตได1จากหล-งคFาส-8ง For น-8นเอง ในบางคร-งเรากOสามารถเพZ8มหรDอลดได1ตามท78เราต1องการ แต3ถ1าเราไม3ระบ= คFาส-8ง For จะ เข1าใจเองว3าให1ทาการเพZ8มหรDอลดลงท7ละ 1 ค3าเท3าน-น F ต-วอย3าง คFาส-8ง For ... Next เป5นโปรแกรมท78ต1องการให1พZมพKคFาว3า “ประเทศไทย” ออกมา 10 รอบ ใน ListBox เมDอผA1ใช1คลZ_กท78ป=lม 8 รAปท78 13 หน1าจอการใช1คFาส-8ง For ... Next เข7ยนโค1ดได1ด-งน7 รAปท78 14 Coding โดยใช1คFาส-8ง For ... Next - 11 -
  • 12. VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com อธบายคาสง Dim i As Short -> เป5นการประกาศต-วแปร i เพD8อให1เป5นต-วน-บรอบ For i = 1 to 10 -> ใช1กFาหนดจFานวนรอบ 10 รอบ ListBox1.Items.Add(“ประเทศไทย ” & i) -> เป5นคFาส-8งท7ให1เพZ8มคFาว3าประเทศไทยเข1าไปใน ListBox 8 Next i ใช1คA3ก-บ for โดยต1องเป5นต-วแปรต-วเด7ยวก-น เมDอเข7ยนโปรแกรมเสรOจกOลองร-นโปรแกรม โดยทFาการกดป=lม ซY8งจะได1ผลล-พธKด-งน7 8 รAปท78 15 ผลล-พธKหล-งจากกดป=lม โดยใช1คFาส-8ง For ... Next ค:าส;*ง While ... End While เป5นคFาส-8งวนรอบอ7กคFาส-8งหนY8งท78ไม3ได1กFาหนดรอบไว1ต-งแต3เรZ8มต1น แต3เป5นการกFาหนดเงD8อนไขท78ให1ทFาคFาส-8งเดZมซFา ๆ ตราบเท3าท7เ8 งD8อนไขเป5นจรZง ๆ ซY8งโปรแกรมจะทFาการตรวจสอบเงDอนไขก3อนท7จะเข1าไปทFางานใน block คFาส-8ง หากโปรแกรมพบว3า 8 8 เงD8อนไขเป5นเทOจกOจะออกจากการทFางานแบบวนรอบน7 ร8ปแบบค:าส;*ง While เงD8อนไข คFาส-8ง ... การเพZมค3า ... 8 [ Exit While ] End While - 12 -
  • 13. VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com ต-วอย3าง เป5นล-กษณะเหมDอนก-บคFาส-8ง For นะคร-บ โดยจะทFาการตรวจสอบเงD8อนไขก3อนท78จะทFางาน ด-งน-นลองสร1างหน1าจอ โปรแกรมด-งต-วอย3างคFาส-8ง For และเข7ยนโค1ดด-งน7 รAปท78 16 Coding โดยใช1คFาส-8ง While ... End While อธบายคาสง Dim i As Short = 1 -> เป5นการประกาศต-วแปร i เพD8อใช1เป5นต-วน-บรอบ และกFาหนดค3าเรZ8มต1นม7ค3าเท3าก-บ 1 แต3ถ1าเราไม3ได1กาหนดค3าเรZ8มต1นให1ก-บต-วแปร ค3า Default กOคอ 0 F D While i <= 10 -> เมDอ i ม7ค3าน1อยกว3าหรDอเท3าก-บ 10 กOให1ทางาน 8 F ListBox1.Items.Add(“ประเทศไทย รอบท7 8 : ” & i) -> เป5นคFาส-8งท78ให1เพZ8มคFาว3าประเทศไทยเข1า ไปใน Listbox โดยให1แสดงรอบด1วย i += 1 -> เพZ8มค3า i เพD8อให1จานวนรอบเพZ8มขYนท7ละ 1 ซY8งอาจเข7ยนอ7กรAปแบบ คDอ i = i + 1 F End While -> จบคFาส-8ง While สFาหร-บคFาส-8ง while น7อาจจะประย=กตKใช1ก-บฐานข1อมAลได1เช3นก-น โดยอาจจะใช1สFาหร-บการแสดงข1อมAลในฐานข1อมAล เช3น ให1อ3าน ข1อมAลจนกว3าจะหมด เป5นต1น - 13 -
  • 14. VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com ค:าส;*ง Do While ... Loop เป5นคFาส-8งวนรอบอ7กคFาส-8งหนY8ง ท78ไม3ได1กFาหนดรอบไว1ต-งแต3เรZ8มต1น แต3เป5นการกFาหนดเงD8อนไขท78ให1ทFาคFาส-8งเดZมซFา ๆ ตราบเท3าท7เ8 งD8อนไขเป5นจรZง ๆ ร8ปแบบค:าส;*ง Do While เงD8อนไข คFาส-8ง ... [ Exit Do ] Loop ลองเข7ยนคFาส-8งด-งต-วอย3างด-งน7 แล1วลองร-นโปรแกรม รAปท78 17 Coding โดยใช1คFาส-8ง Do While ... Loop อธบายคาสง Dim i As Short = 1 -> เป5นการประกาศต-วแปร i เพD8อใช1เป5นต-วน-บรอบ และกFาหนดค3าเรZ8มต1นม7ค3าเท3าก-บ 1 แต3ถ1าเราไม3ได1กาหนดค3าเรZ8มต1นให1ก-บต-วแปร ค3า Default กOคอ 0 F D Do While (i <= 10) -> เมDอ i ม7คาน1อยกว3าหรDอเท3าก-บ 10 กOให1ทางาน 8 3 F ListBox1.Items.Add(“ประเทศไทย รอบท7 8 : ” & i) -> เป5นคFาส-8งท78ให1เพZ8มคFาว3าประเทศไทยเข1า ไปใน Listbox โดยให1แสดงรอบด1วย i += 1 -> เพZ8มค3า i เพD8อให1จานวนรอบเพZ8มขYนท7ละ 1 ซY8งอาจเข7ยนอ7กรAปแบบ คDอ i = i + 1 F Loop -> จบคFาส-8ง While - 14 -
  • 15. VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com ค:าส;*ง Do ... Loop Until เป5นคFาส-8งวนรอบอ7กคFาส-8งหนY8ง แต3คFาส-8ง Do ... Loop Until จะม7ล-กษณะการทFางานท78แตกต3างก-บคFาส-8งการวนรอบ คDอ จะทFางานไปก3อนและตรวจสอบเงD8อนไขท7หล-ง ถ1าเงD8อนไขเป5นเทOจจะทFางานซFาอ7กคร-ง จนกระท-8งเงD8อนไขเป5นจรZงถYงจะหย=ดการทFา งาน ร8ปแบบค:าส;*ง Do คFาส-8ง ... [ Exit Do ] Loop Until เงD8อนไข ลองเข7ยนคFาส-8งด-งต-วอย3างด-งน7 แล1วลองร-นโปรแกรม รAปท78 18 Coding โดยใช1คFาส-8ง Do ... Loop Until อธบายคาสง Dim i As Short = 1 -> เป5นการประกาศต-วแปร i เพD8อใช1เป5นต-วน-บรอบ และกFาหนดค3าเรZ8มต1นม7ค3าเท3าก-บ 1 แต3ถ1าเราไม3ได1กาหนดค3าเรZ8มต1นให1ก-บต-วแปร ค3า Default กOคอ 0 F D Do ListBox1.Items.Add(“ประเทศไทย รอบท7 8 : ” & i) -> เป5นคFาส-8งท78ให1เพZ8มคFาว3าประเทศไทยเข1า ไปใน Listbox โดยให1แสดงรอบด1วย i += 1 -> เพZ8มค3า i เพD8อให1จานวนรอบเพZ8มขYนท7ละ 1 ซY8งอาจเข7ยนอ7กรAปแบบ คDอ i = i + 1 F Loop Until (i > 10) -> เมD8อ i ม7ค3ามากกว3า 10 กOให1ทFาจบการทFางาน แต3ถ1าน1อยกว3าหรDอเท3าก-บ 10 จะกล-บ ขYนไปทFาซาอ7กคร-ง F หมายเหต4 จากเนDอหาท78ให1เป5นเพ7ยงต-วอย3างการเข7ยนและการทFางานเท3าน-น จรZง ๆ แล1วม7อะไรอ7กมากมาย เราจะต1องทFาการ ศYกษาเพZ8มเตZมการทFางานของ Control ต3าง ๆ ไม3ว3าจะเป5น Event หรDอ Properties รวมถYงคFาส-8งต3าง ๆ ท7ไม3ได1อธZบายได1หมด และ 8 ท78สาค-ญกOคDอ เราจะต1องทFาการฝŠกฝนก-บการเข7ยนโปรแกรมประเภทน7อ7กด1วย F - 15 -