SlideShare a Scribd company logo
1 of 23
Download to read offline
1

ShowMessageBox

ในตัวอย่างนี ้นักศึกษาจะได้ เรี ยนรู้การเรี ยกใช้ กล่องข้ อความ (MessageBox) ในลักษณะต่างๆเพื่อการประยุกต์ใช้ ในการเขียน
โปรแกรมให้ มีสวนตอบโต้ กบผู้ใช้ และสาหรับปุ่ ม “ออก” จะเป็ นการประยุกต์กบเหตุการณ์ที่จะออกจากโปรแกรมโดยใช้ คาสัง if
              ่         ั                                               ั                                      ่




            Button1                                                                Button5

            Button2                                                                Button6

            Button3                                                                Button7

            Button4                                                                Button8

                                                                                  Button9




Public Class Form1
    Private Sub Button1_Click(*****) Handles Button1.Click
        MessageBox.Show("แสดงแบบที่ 1")
    End Sub
------------------------------------------------------------------------------
    Private Sub Button2_Click(*****) Handles Button2.Click
        MessageBox.Show("แสดงแบบที่ 2", "อิอิ")
    End Sub
------------------------------------------------------------------------------
    Private Sub Button3_Click(*****) Handles Button3.Click
        MessageBox.Show("แสดงแบบที่ 3", "อิอิ", MessageBoxButtons.YesNo)
    End Sub
------------------------------------------------------------------------------
    Private Sub Button4_Click(*****) Handles Button4.Click
        MessageBox.Show("แสดงแบบที่ 4", "อิอิ", MessageBoxButtons.YesNo,
MessageBoxIcon.Information)
    End Sub
------------------------------------------------------------------------------
    Private Sub Button5_Click(*****) Handles Button5.Click
        MsgBox("แสดงแบบที่ 5")
    End Sub
------------------------------------------------------------------------------
    Private Sub Button6_Click(*****) Handles Button6.Click
        MsgBox("แสดงแบบที่ 6", , "อิอิ")
    End Sub
------------------------------------------------------------------------------
    Private Sub Button7_Click(*****) Handles Button7.Click
        MsgBox("แสดงแบบที่ 7", MsgBoxStyle.YesNo, "อิอิ")
    End Sub
------------------------------------------------------------------------------
    Private Sub Button8_Click(*****) Handles Button8.Click
           MsgBox("แสดงแบบที่ 8", MsgBoxStyle.YesNo + MsgBoxStyle.Exclamation, "อิอิ")


           การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า
                                       ่                                                          ั
2

    End Sub
------------------------------------------------------------------------------
    Private Sub Button9_Click(*****) Handles Button9.Click
            If MsgBox("คุณต้องการออกจากโปรแกรมใช่หรื อไม่?", MsgBoxStyle.YesNo +
MsgBoxStyle.Exclamation, "ยืนยัน") = MsgBoxResult.Yes Then
            End
        End If
    End Sub
End Class



ShowName

ในตัวอย่างนี ้นักศึกษาจะได้ เรี ยนรู้การส่งค่าไปแสดงยังกล่องข้ อความ และ ใช้ เครื่ องหมาย & เพื่อทาการเชื่อมต่อค่าที่เป็ นข้ อความ
(String)และในตัวอย่างที่ 2 จะเป



                                                                                          txtName
             Lable1
                                                                                          txtLName
             Lable2

                                                                                          Button1


                                                                                          Button2

                                                                                          Button3




Public Class Form1

      Private Sub Button1_Click(****) Handles Button1.Click
        MsgBox("ยินดีตอนรับ คุณ" & txtName.Text & "
                      ้                             " & txtLName.Text)
    End Sub
------------------------------------------------------------------------------
    Private Sub Button2_Click(****) Handles Button2.Click
        Me.Text = "ยินดีตอนรับ คุณ" & txtName.Text & "
                         ้                             " & txtLName.Text
    End Sub
------------------------------------------------------------------------------
    Private Sub Button3_Click(****) Handles Button3.Click
          Button3.Text = "ยินดีตอนรับ
                                ้                   คุณ"   & txtName.Text & "                " & txtLName.Text
      End Sub

End Class




            การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า
                                        ่                                                          ั
3



ColorDay

ในตัวอย่างนี ้นักศึกษาจะได้ เรี ยนรู้การส่งค่าสีจากคลาส Color ไปยัง คุณสมบัติ ForeColor ของออฟเจค txtDetail
                                                                                            btnSaturDay
btnSunday        btnMonday          btnTuesday


          Lable1




                                          btnWednesday            btnThursDay             btnFriday




Public Class Form1

     Private Sub btnSunday_Click(****) Handles btnSunday.Click
        txtDetail.Text = "คาทานายวันอาทิตย์"
        txtDetail.ForeColor = Color.Red
    End Sub
------------------------------------------------------------------------------
    Private Sub btnMonday_Click(****) Handles btnMonday.Click
        txtDetail.Text = "คาทานายวันจันทร์ "
        txtDetail.ForeColor = Color.Yellow
    End Sub
------------------------------------------------------------------------------
    Private Sub btnTuesday_Click(****) Handles btnTuesday.Click
        txtDetail.Text = "คาทานายวันอังคาร"
        txtDetail.ForeColor = Color.Pink
    End Sub
------------------------------------------------------------------------------
    Private Sub btnWednesday_Click(****) Handles btnWednesday.Click
        txtDetail.Text = "คาทานายวันพุธ"
        txtDetail.ForeColor = Color.Green
    End Sub
------------------------------------------------------------------------------
    Private Sub btnThursDay_Click(****) Handles btnThursDay.Click
        txtDetail.Text = "คาทานายวันพฤหัสบดี"
        txtDetail.ForeColor = Color.Orange
    End Sub
------------------------------------------------------------------------------
    Private Sub btnFriday_Click(****) Handles btnFriday.Click
        txtDetail.Text = "คาทานายวันศุกร์"
        txtDetail.ForeColor = Color.Blue
    End Sub
------------------------------------------------------------------------------


         การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า
                                     ่                                                          ั
4

      Private Sub btnSaturDay_Click(****) Handles btnSaturDay.Click
          txtDetail.Text = "คาทานายวันเสาร์ "
          txtDetail.ForeColor = Color.Violet
      End Sub

End Class




ArithmeticOperatorsDemo

นักศึกษาต้ องมีความเข้ าใจการใช้ ประโยคคาสัง if และ Elseif เพื่อใช้ ในการควบคุมการคานวณในเหตการณ์ “เมาส์คลิก” ที่ปม
                                           ่                                                                      ุ่
“คานวณ” โดยใช้ ตวดาเนินการทางคณิตศาสร์ (Operator) มาจัดการกับตัวแปรที่ประกาศไว้ สวนบนเพื่อให้ โปรแกรมย่อยสามารถ
                ั                                                                ่
เรี ยกใช้ ได้ (ถ้ านักศึกษายังไม่เข้ าใจการประกาศตัวแปรในส่วนนี ้ สามารถถามจากผู้สอนได้ )


     Label1                   btnMonday             btnTuesday


                                                                                                    Label3
    TextBox1
                                                                                                  TextBox3

    Label2
                                                                                                   Button1


    TextBox2




                                                                                                   Button2


   RadioButton1 ถึง RadioButton7                          GroupBox1



Public Class Form1
    Dim FirstNum, SecondNum, Result As Double
    Private Sub Button1_Click(****) Handles Button1.Click
        FirstNum = TextBox1.Text
        SecondNum = TextBox2.Text
        If RadioButton1.Checked = True Then
            Result = FirstNum + SecondNum
        ElseIf RadioButton2.Checked = True Then
            Result = FirstNum - SecondNum
        ElseIf RadioButton3.Checked = True Then
            Result = FirstNum * SecondNum
        ElseIf RadioButton4.Checked = True Then
            Result = FirstNum / SecondNum
        ElseIf RadioButton5.Checked = True Then
            Result = FirstNum  SecondNum
        ElseIf RadioButton6.Checked = True Then


            การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า
                                        ่                                                          ั
5

            Result = FirstNum Mod SecondNum
        ElseIf RadioButton7.Checked = True Then
            Result = FirstNum ^ SecondNum
        End If
        TextBox3.Text = Result
    End Sub
------------------------------------------------------------------------------
    Private Sub Button2_Click(****) Handles Button2.Click
        End
    End Sub
End Class




DataTypeDemo
นักศึกษาต้ องมีความเข้ าใจเกี่ยวกับชนิดของตัวแปร ประเภทต่างๆ ศึกษาสามารถศึกษาได้ จากเอกสารประกอบการสอน
ซึงในตัวอย่างได้ นี ้ได้ นาประโยคคาสัง Select..case มาช่วยในการเลือก รายการ (item)ใน ListBox
  ่                                  ่



    Label1
                                                                                 Label2

                                                                                Label3
  ListBox1


                                                                                 Button1




Public Class Form1

    Dim Birds As Short
    Dim Insects As Integer
    Dim WorldPop As Long
    Dim Price As Single
    Dim Pi As Double
    Dim Debt As Decimal
    Dim RetKey As Byte
    Dim UnicodeChar As Char
    Dim Dog As String
    Dim Flag As Boolean
    Dim Birthday As Date
----------------------------------------------------------------------------------
    Private Sub Form1_Load(****) Handles MyBase.Load
        ListBox1.Items.Add("Short")
        ListBox1.Items.Add("Integer")
        ListBox1.Items.Add("Long")
        ListBox1.Items.Add("Single")
        ListBox1.Items.Add("Double")
        ListBox1.Items.Add("Decimal")
        ListBox1.Items.Add("Byte")
        ListBox1.Items.Add("Char")
        ListBox1.Items.Add("String")
        ListBox1.Items.Add("Boolean")


          การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า
                                      ่                                                          ั
6

        ListBox1.Items.Add("Date")
    End Sub
----------------------------------------------------------------------------------
    Private Sub ListBox1_SelectedIndexChanged(****) Handles
ListBox1.SelectedIndexChanged
        Select Case ListBox1.SelectedIndex
            Case 0
                Birds = 12500
                Label3.Text = Birds
            Case 1
                Insects = 37500000
                Label3.Text = Insects
            Case 2
                WorldPop = 4800000004
                Label3.Text = WorldPop
            Case 3
                Price = 899.99
                Label3.Text = Price

            Case 4
                Pi = 3.1415926535
                Label3.Text = Pi
            Case 5
                Debt = 7600300.5
                Label3.Text = Debt
            Case 6
                RetKey = 13
                Label3.Text = RetKey
            Case 7
                UnicodeChar = "ก"
                Label3.Text = UnicodeChar
            Case 8
                Dog = "บักด่าง"
                Label3.Text = Dog
            Case 9
                Flag = True
                Label3.Text = Flag
            Case 10
                Birthday = #3/1/1963#
                Label3.Text = Birthday
        End Select
    End Sub
----------------------------------------------------------------------------------
    Private Sub Button1_Click(****) Handles Button1.Click
        End
    End Sub

End Class




       การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า
                                   ่                                                          ั
7

VariableDemo
ในตัวอย่างนี ้เป็ นตัวอย่างการประกาศตัวแปร เพื่อให้ สามารถรับค่า และ ส่งค่าไปแสดงผลที่คณสมบัติ Text ของออฟเจค Lable
                                                                                       ุ
ตัวอย่างนี ้มีฟังก์ชนกล่องรับข้ อความ (inputbox) และ กล่องแสดงข้ อความเพื่อแสดงผล (MessageBox)
                    ั่

               Button1            Button2             Button3




                                                                         Label1

                                                                         Label2


                                                                        Button4




Public Class Form1

  Private Sub Button1_Click(****) Handles Button1.Click
    Dim FirstName As String

     FirstName = "Anooruk"
     Label1.Text = FirstName

    FirstName = "อนุรักษ์"
    Label2.Text = FirstName
  End Sub
---------------------------------------------------------------------------
  Private Sub Button2_Click(****) Handles Button2.Click
    Dim Prompt, FullName As String

    Prompt = "กรุ ณาป้ อนชื่อและนามสกุลของคุณ"
    FullName = InputBox(Prompt)
    Label1.Text = FullName
  End Sub
---------------------------------------------------------------------------
  Private Sub Button3_Click(****) Handles Button3.Click
    Dim Prompt, FullName As String

     Prompt = "กรุ ณาป้ อนชื่อและนามสกุลของคุณ"
     FullName = InputBox(Prompt)
    MsgBox(FullName, , "ชื่อและนามสกุลของคุณ")
  End Sub
---------------------------------------------------------------------------
  Private Sub Button4_Click(****) Handles Button4.Click
    End
  End Sub

End Class




          การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า
                                      ่                                                          ั
8

SimpleAuthentication

ก่อนที่จะทาโปรเจคนี ้สิงที่ต้องเตรี ยมก็คือรูปภาพทีมีนามสกุล .jpg(หรื อ นามสกุลใดก็ได้ ) ในตัวอย่างนี ้ เตรี ยมไว้ 2 รูป คือ
                       ่                           ่
User_001.jpg        และ User_002.jpg ซึงนาไปไว้ ที่ไดว์ C:
                                       ่




                                                                                          btnLogin



                                                                                           PictureBox1




Public Class Form1

      Private Sub btnLogin_Click(****) Handles btnLogin.Click
          Dim UserName As String

            UserName = InputBox("กรุ ณาปอนชื่อของคุณ")
                                        ้
            If UserName = "ติ๊ก" Then
                   MsgBox("ยินดีต้อนรับ คุณ" & UserName)
                   PictureBox1.Image = Image.FromFile("C:User_001.jpg")
            ElseIf UserName = "สังข์" Then
                   MsgBox("ยินดีต้อนรับ คุณ " & UserName)
                   PictureBox1.Image = Image.FromFile("C:User_002.jpg")
            Else
                   MsgBox("ไม่มีชื่อของคุณอยูในระบบ")
                                             ่
            End
        End If
    End Sub
End Class



SimpleAuthentication2

ก่อนที่จะทาโปรเจคนี ้สิงที่ต้องเตรี ยมก็คือรูปภาพทีมีนามสกุล .jpg (หรื อ นามสกุลใดก็ได้ ) ในตัวอย่างนี ้ เตรี ยมไว้ 2 รูป คือ
                       ่                           ่
User_001.jpg        และ User_002.jpg ซึงนาไปไว้ ที่ไดว์ C: ซึงตัวอย่างนี ้จะรับค่า Username และ Password เข้ า
                                       ่                     ่
มา แล้ วทาการตรวจสอบความถูกต้ อง หากไม่เช่นนันก็จะปิ ดระบบไป
                                             ้



            การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า
                                        ่                                                          ั
9




                                                                                btnLogin



                                                                                 PictureBox1




Public Class Form1

  Private Sub btnLogin_Click(ByVal sender As System.Object, _
              ByVal e As System.EventArgs) Handles btnLogin.Click
    Dim UserName, Password As String

     UserName = InputBox("กรุ ณาปอนชื่อของคุณ")
                                 ้
     Password = InputBox("กรุ ณาปอนรหัสของคุณ")
                                 ้
           If UserName = "ดา" And Password = "black" Then
                  MsgBox("ยินดีต้อนรับคุณ " & UserName)
                  PictureBox1.Image = Image.FromFile("C:User_001.jpg")
           ElseIf UserName = "แดง" And Password = "red" Then
                  MsgBox("ยินดีต้อนรับคุณ " & UserName)
                  PictureBox1.Image = Image.FromFile("C:User_002.jpg")
           Else
                  MsgBox("ไม่มีชื่อคุณอยูในระบบ หรื อคุณปอนรหัสผ่านไม่ถกต้ อง!")
                                         ่               ้             ู
            End
        End If
  End Sub

End Class




SecurityPanel

ในตัวอย่างนี ้นักศึกษาจะได้ ศกษาการใช้ ประโยค select..Case แบบมีเงื่อนไข และ การเชื่อมต่อข้ อความโดยใช้ ออฟเจคเดิมคือ
                             ึ
txtSecurityCode ในขณะที่กดปุ่ ม 0 ถึง 9 และเมื่อกดปุ่ ม “Clear” ก็จะเริ่ มต้ นรับรหัสผ่านใหม่




           การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า
                                       ่                                                          ั
10


           lblSecurityCode              txtSecurityCode




                                                                         ไม่บอก ??


   btnClear                                                             btnEnter




                                                                        lstLogEntry




Public Class Form1

  Private Sub btnEnter_Click(****) Handles btnEnter.Click
    Dim intAccessCode As Integer           ‘เก็บรหัสผ่านที่ปอนเข้ ามา
                                                             ้
    Dim strMessage As String          ‘เก็บชื่อการเข้ าถึงของผู้ใช้
    intAccessCode = Val(txtSecurityCode.Text)
    txtSecurityCode.Clear()

    Select Case intAccessCode
      Case 1645 To 1689
        strMessage = "ช่างเทคนิค"
      Case 8345
        strMessage = "ผู้ควบคุมห้ องปฏิบติการ"
                                        ั
      Case 9998, 1006 To 1008
        strMessage = "นักศึกษา"
      Case Else
        strMessage = "Access Denied"
    End Select

    lstLogEntry.Items.Add(Date.Now & "   " & strMessage)
  End Sub
--------------------------------------------------------------------------------
Private Sub btnZero_Click(****) Handles btnZero.Click
    txtSecurityCode.Text &= "0"
  End Sub
--------------------------------------------------------------------------------
  Private Sub btnOne_Click(****) Handles btnOne.Click
    txtSecurityCode.Text &= "1"
  End Sub
--------------------------------------------------------------------------------



       การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า
                                   ่                                                          ั
11

Private Sub btnTwo_Click(****) Handles btnTwo.Click
    txtSecurityCode.Text &= "2" '
  End sub
--------------------------------------------------------------------------------
  Private Sub btnThree_Click(****) Handles btnThree.Click
    txtSecurityCode.Text &= "3"
  End Sub
--------------------------------------------------------------------------------
  Private Sub btnFour_Click(****) Handles btnFour.Click
    txtSecurityCode.Text &= "4"
  End Sub
--------------------------------------------------------------------------------
  Private Sub btnFive_Click(****) Handles btnFive.Click
    txtSecurityCode.Text &= "5"
  End Sub
--------------------------------------------------------------------------------
  Private Sub btnSix_Click(****) Handles btnSix.Click
    txtSecurityCode.Text &= "6"
  End Sub
--------------------------------------------------------------------------------
  Private Sub btnSeven_Click(****) Handles btnSeven.Click
    txtSecurityCode.Text &= "7"
  End Sub
--------------------------------------------------------------------------------
  Private Sub btnEight_Click(****) Handles btnEight.Click
    txtSecurityCode.Text &= "8"
  End Sub
--------------------------------------------------------------------------------
  Private Sub btnNine_Click(****) Handles btnNine.Click
    txtSecurityCode.Text &= "9"
  End Sub
--------------------------------------------------------------------------------
  Private Sub btnClear_Click(****) Handles btnClear.Click
    txtSecurityCode.Clear()
  End Sub

End Class


DigitalClock

                              ิ
ในตัวอย่างนี ้ เป็ นการแสดงนาฬกาที่อยูในเครื่ องคอมพิวเตอร์ โดยใช้ ตวควบคุม Timer
                                      ่                             ั                               มาช่วยในการวนรอบตามค่าที่
กาหนดไว้ ใน ดังภาพ




                                                                        กาหนดชื่อของ ออฟเจค

                                                                        สังให้ Timer1 เริ่ มทางาน
                                                                          ่

                                                                กาหนดจังหวะของการทางาน ต่อครังโดย
                                                                                             ้
                                                                1000 เท่ากับ 1 วินาที



           การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า
                                       ่                                                          ั
12

----------------------------------------------------------------------------------------------------------------------------------------------------------------



                                                                                                                                 lblClock




Public Class Form1

   Private Sub Timer1_Tick(****) Handles Timer1.Tick
     lblClock.Text = DateAndTime.TimeString
   End Sub

End Class




CarPaymentCalculator

ในตัวอย่างนี ้ เป็ นการผ่อนงวดรถโดยใช้ ระยะเวลาในการชาระเงิน 5 ปี ด้ วยอัตราเงือนไขที่ลกค้ ากาหนดเอง นักศึกษาจะได้ ศกษาการใช้
                                                                                       ู                            ึ
ประโยคคาสังแบบวนรอบ Do while (วนรอบจนกว่าเงือนไขจะเป็ นเท็จ) การเพิ่มรายการโดยใช้ ตวควบคุม Listbox
          ่                                                                        ั
และการประกาศตัวแปรชนิดต่างๆเพื่อรับค่าและส่งค่า (หากนักศึกษามีความส่งสัยให้ สอบถามผู้สอน)


                     lblPrice
                                                                                                                                 txtPrice

                lblDownPayment
                                                                                                                           txtDownPayment


                  lblInterest                                                                                                 txtInterest


                                                                                                                             btnCalculate




                                                                                                                              lstPayments




               การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า
                                           ่                                                          ั
13

Public Class Form1

  Private Sub btnCalculate_Click(****) Handles btnCalculate.Click
    Dim intYears As Integer = 1
    Dim intMonths As Integer
    Dim intPrice As Integer
    Dim intDownPayment As Integer
    Dim dblInterestRate As Double
    Dim intLoanAmount As Integer
    Dim decInterest As Decimal
    Dim decTotalPayment As Decimal
    Dim decMonthlyPayment As Decimal

    lstPayments.Items.Clear()

    lstPayments.Items.Add("ระยะเวลาผ่อน" & ControlChars.Tab & "ค่างวดต่อเดือน")

    intDownPayment = Val(txtDownPayment.Text)
    intPrice = Val(txtPrice.Text)
    dblInterestRate = Val(txtInterest.Text)

    intLoanAmount = intPrice - intDownPayment

    Do While intYears <= 5
      intMonths = 12 * intYears
      decInterest = Convert.ToDecimal(intLoanAmount * ((dblInterestRate
      * intYears) / 100))
      decTotalPayment = intLoanAmount + decInterest
      decMonthlyPayment = decTotalPayment / intMonths
    lstPayments.Items.Add(intMonths & "              เดือน"   & ControlChars.Tab &
ControlChars.Tab & String.Format("{0:C}", decMonthlyPayment))

      intYears += 1
    Loop
  End Sub

End Class




        การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า
                                    ่                                                          ั
14

 InterestCalculator

 ในตัวอย่างนี ้ เป็ นการผ่อนงวดรถโดยใช้ ระยะเวลาในการชาระเงินตามจานวนปี ที่ลกค้ าต้ องการ ด้ วยอัตราเงือนไขการชาระเงินที่ลกค้ ากาหนด
                                                                            ู                                             ู
 เอง นักศึกษาจะได้ ศกษาการใช้ ประโยคคาสังแบบวนรอบ For Next (วนรอบตามจานวนที่กาหนด) การเพิมรายการโดยใช้ ตว
                    ึ                   ่                                                ่              ั
 ควบคุม txtResult โดยนักศึกษาต้ องกาหนดคุณสมบัติเพิ่มเติมดังภาพ และการประกาศตัวแปรชนิดต่างๆเพื่อรับค่าและส่งค่า (หาก
 นักศึกษามีความส่งสัยให้ สอบถามผู้สอน)

                                      txtPrincipal                    btnCalculate


                                                                                                        txtRate
lblPrincipal


     lblRate
                                                                                                      updYears

    lblYears


lblYearlyAccount
                                                                                                     txtResult
                                                                                                  โดยกาหนดคุณสมบัติ
                                                                                                      เพิ่มเติมดังนี ้




 Public Class Form1

   Private Sub btnCalculate_Click(****)
 Handles btnCalculate.Click
     Dim decPrincipal As Decimal
     Dim dblRate As Double
     Dim intYear As Integer
     Dim i As Integer
     Dim decAmount As Decimal
     Dim strOutput As String

       decPrincipal = Val(txtPrincipal.Text)
       dblRate = Val(txtRate.Text)
       intYear = updYears.Value




            การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า
                                        ่                                                          ั
15

     strOutput = "ปี ที" & ControlChars.Tab &
                       ่                                    "ยอดเงินฝากเมื่อสิ ้นปี ”   & ControlChars.CrLf

    For i = 1 To intYear
      decAmount = decPrincipal * ((1 + dblRate / 100) ^ i)
      strOutput &= (i & ControlChars.Tab & String.Format("{0:C}", decAmount) &
ControlChars.CrLf)
    Next

    txtResult.Text = strOutput
  End Sub
End Class




ControlDemo1

ในตัวอย่างนี ้ หลักสาคัญอยูที่การเขียนโปรแกรมกับเหตุการณ์เมือมีการเปลียนแปลงในออฟเจค TextBox1_TextChanged
                           ่                                ่         ่
แล้ วส่งค่าไปยังคุณสมบัติ Text ของออฟเจค Lable1 ให้ เปลียนแปลงตามไปด้ วย โดยนักศึกษาต้ องกาหนดคุณสมบัติเพิมเติมดังภาพ
                                                        ่                                                 ่




           TextBox1
                                                                                             Label1

           Button1                                                                          Button2




Public Class Form1

  Private Sub TextBox1_TextChanged(****) Handles TextBox1.TextChanged
    Label1.Text = TextBox1.Text
  End Sub
-------------------------------------------------------------------------------
  Private Sub Button1_Click(****) Handles Button1.Click
    TextBox1.Text = "Visual Basic 2005"
  End Sub
-------------------------------------------------------------------------------
  Private Sub Button2_Click(****) Handles Button2.Click


           การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า
                                       ่                                                          ั
16

    TextBox1.Clear()
  End Sub

End Class




ControlDemo2

        ในตัวอย่างนี ้ สิงที่นกศึกษาต้ องเตรี ยมคือ รูปภาพตามตัวอย่างต้ องเก็บไว้ ที่ "C:image" โดยมีรูปภาพที่ชื่อว่า
                         ่ ั
"img01.jpg","img02.jpg", "img03.jpg"                       อยูในตาแหน่งดังกล่าว
                                                              ่
        โดยในตัวอย่างนี ้สาระสาคัญอยูที่การเรี ยกใช้ ฟังก์ชน
                                     ่                     ั่   FromFile จากคลาส Image เพื่อที่จะส่งค่าตาแหน่งของรู ปภาพเข้ าไปแล้ ว

ส่งค่ากลับ return ออกมาเป็ นรูปภาพจากนันก็สงค่าไปยัง คุณสมบัติ Image ของออฟเจค PictureBox1
                                       ้ ่
(ในตัวอย่างนี ้หากมีข้อสงสัยสามารถสอบถามอาจารย์ผ้ สอนได้ )
                                                  ู



                                                                                                   Label1

         PictureBox1
                                                                                                 CheckBox1


          GroupBox1
                                                                                                 GroupBox2


       RadioButton1                                                                           RadioButton4

      RadioButton2                                                                           RadioButton5

      RadioButton3                                                                           RadioButton6




Public Class Form1

    Const PICTURE_PATH = "C:image"
  Private Sub RadioButton1_Click(****) Handles RadioButton1.Click
        Dim Filename As String = "img01.jpg"
    PictureBox1.Image = Image.FromFile(PICTURE_PATH & Filename)
    Label1.Text = Filename
  End Sub
------------------------------------------------------------------------------
  Private Sub RadioButton2_Click(****) Handles RadioButton2.Click
        Dim Filename As String = "img02.jpg"
    PictureBox1.Image = Image.FromFile(PICTURE_PATH & Filename)
    Label1.Text = Filename
  End Sub
------------------------------------------------------------------------------
  Private Sub RadioButton3_Click(****) Handles RadioButton3.Click
        Dim Filename As String = "img03.jpg"
    PictureBox1.Image = Image.FromFile(PICTURE_PATH & Filename)


           การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า
                                       ่                                                          ั
17

    Label1.Text = Filename
  End Sub
------------------------------------------------------------------------------
  Private Sub RadioButton4_Click(****) Handles RadioButton4.Click
    PictureBox1.BorderStyle = BorderStyle.None
  End Sub
------------------------------------------------------------------------------
  Private Sub RadioButton5_Click(****) Handles RadioButton5.Click
    PictureBox1.BorderStyle = BorderStyle.FixedSingle
  End Sub
------------------------------------------------------------------------------
  Private Sub RadioButton6_Click(****) Handles RadioButton6.Click
    PictureBox1.BorderStyle = BorderStyle.Fixed3D
  End Sub
------------------------------------------------------------------------------
  Private Sub CheckBox1_Click(****) Handles CheckBox1.Click
    Label1.Visible = CheckBox1.Checked
  End Sub

End Class



CheckedListBoxDemo

ในตัวอย่างนี ้ นักศึกษาจะได้ เรี ยนรู้การ เพิ่มรายการ(item)ในออฟเจค ListBox และการใช้ คณสมบัติซอนและแสดงออฟเจค
                                                                                       ุ       ่
Button ทัง้ 3 ตัว โดยผ่านเหตุการณ์เมื่อมีการคลิกรายการให้ เป็ นเครื องหมายถูก(ItemCheck)และใช้ ประโยคคาสัง
                                                                                                         ่
Select…Case มาช่วยในการแยกการทางานของแต่ละรายการโดยที่แต่ละรายการมีการตรวจสอบเงือนไขว่าเป็ นสถานะ
การว่าเป็ นเครื่ องหมายถูกอยูหรื อไม่ โดยใช้ ประโยคคาสัง If…Else มาช่วย
                             ่                         ่



                                                                               Button1
CheckedListBox1
                                                                               Button2

                                                                               Button3




Public Class Form1

  Private Sub Form1_Load(****) Handles MyBase.Load
    Button1.Hide()
    Button2.Hide()
    Button3.Hide()
    CheckedListBox1.Items.Add("áÊ´§ Button1")
    CheckedListBox1.Items.Add("áÊ´§ Button2")
    CheckedListBox1.Items.Add("áÊ´§ Button3")
  End Sub
-------------------------------------------------------------------------------
  Private Sub CheckedListBox1_ItemCheck****) Handles CheckedListBox1.ItemCheck
    Select Case e.Index

          การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า
                                      ่                                                          ั
18

      Case 0
        If e.NewValue = CheckState.Checked Then
          Button1.Show()
        Else
          Button1.Hide()
        End If
      Case 1
        If e.NewValue = CheckState.Checked Then
          Button2.Show()
        Else
          Button2.Hide()
        End If
      Case 2
        If e.NewValue = CheckState.Checked Then
          Button3.Show()
        Else
          Button3.Hide()
        End If
    End Select
  End Sub

End Class



ListBoxDemo

ในตัวอย่างนี ้ นักศึกษาจะได้ เรี ยนรู้การเรี ยกใช้ คุณสมบัติของออฟเจค ListBox โดยจะเป็ นการเพิมรายการ( Items.Add)
                                                                                              ่
การลบทีละรายการ( Items.RemoveAt ) และลบรายการใน ListBox ทังหมด (Items.Clear()) โดยใช้ ประโยคคาสัง
                                                          ้                                     ่
If…Else มาช่วยในการกาหนดเงื่อนไขในเหตุการณ์แต่ละ รายการ


                                                                                        TextBox1

           ListBox1
                                                                                         Button1



                                                                                         Button2

                                                                                         Button3




Public Class Form1

  Private Sub Button1_Click(****) Handles Button1.Click
    ListBox1.Items.Add(TextBox1.Text)
    TextBox1.Clear()
  End Sub

--------------------------------------------------------------------------------




          การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า
                                      ่                                                          ั
19

Private Sub Button2_Click(****) Handles Button2.Click
    'ตรวจสอบว่าผู้ใช้ ได้ เลือกไอเท็ม ไว้ ก่อนหรื อไม่

      If ListBox1.SelectedIndex <> -1 Then
        ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)
      Else
         MsgBox("กรุ ณาเลือกไอเท็มที่จะลบก่อน", MsgBoxStyle.Exclamation)
    End If
  End Sub
--------------------------------------------------------------------------------
  Private Sub Button3_Click(****) Handles Button3.Click
    ListBox1.Items.Clear()
  End Sub

End Class



PictureBoxDemo

ในตัวอย่างนี ้ เป็ นตัวอย่างง่ายๆ ในการแสดงรูปภาพเมื่อมีเหตุการณ์คลิกที่ออฟเจค PictureBox1 โดยมีสงที่นาสนใจ
                                                                                                 ิ่ ่
คือการใช้ เมธอด FromFile ของคลาส         Image     และการใช้ คาสัง Mod ในการหารเพื่อเก็บเศษ
                                                                 ่
โดยมีสงที่นกศึกษาต้ องเตรี ยมคือ รูปภาพตามตัวอย่างต้ องเก็บไว้ ที่ "C:image" โดยมีรูปภาพที่ชื่อว่า
      ิ่ ั
"img01.jpg","img02.jpg", "img03.jpg"                    อยูในตาแหน่งดังกล่าว
                                                           ่
(สาหรับตัวอย่างนี ้หากนักศึกษา ไม่เข้ าใจรูปแบบคาสัง สามารถสอบถามเพิ่มเติมจากอาจารย์ผ้ สอนได้ )
                                                   ่                                   ู




            ListBox1




                                                                                    PictureBox1




Public Class Form1
    Const PICTURE_PATH = "C:image"
  Dim imageNumber As Integer = 0
----------------------------------------------------------------------------
  Private Sub PictureBox1_Click(****) Handles PictureBox1.Click

    imageNumber = (imageNumber Mod 3) + 1
        PictureBox1.Image = Image.FromFile(PICTURE_PATH & "img0" &
CStr(imageNumber) & ".jpg")
  End Sub
End Class


           การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า
                                       ่                                                          ั
20

MenuDemo

ในตัวอย่างนี ้ นักศึกษาต้ องทาความเข้ าใจในการใช้ งานออฟเจค menuscript ในการสร้ างเมนูและการกาหนดเหตุการณ์
เมื่อมีการคลิก ที่เมนูคาสังโดยต้ องเพิ่มออฟเจค menuscript เข้ ามาโปรเจคดังภาพ
                          ่




                                                                                               Label1




Public Class Form1

  Private Sub TimeToolStripMenuItem_Click(****) Handles TimeToolStripMenuItem.Click
    Label1.Text = DateAndTime.TimeString
  End Sub
-------------------------------------------------------------------------------------
  Private Sub DateToolStripMenuItem_Click(****) Handles DateToolStripMenuItem.Click
    Label1.Text = DateAndTime.DateString
  End Sub

End Class




CommonDialogDemo

ในตัวอย่างนี ้ นักศึกษาต้ องใช้ ความพยายามในการทาความเข้ าใจ สาเหตุเพราะการใช้ งานออฟเจค MenuStrip และ
OpenFileDialog มีให้ เห็นในโปรเจคโดยทัวไป โดยนักศึกษาต้ องนาออฟเจดังภาพมาวาง
                                      ่



นอกจากนี ้แล้ วนักศึกษาจะได้ เรี ยนรู้การเรี ยกใช้ คาสังในการติดต่อกับ วันที่และเวลาในเครื่ องคอมพิวเตอร์ ผานโมดูล DateAndTime
                                                       ่                                                   ่
และที่สาคัญคือนักศึกษาจะต้ องเพิ่มรายการเมนูผานออฟเจค MenuStrip (หากไม่เข้ าใจเกี่ยวกับการเพิ่มรายการเมนูให้ สอบถาม
                                             ่
อาจารย์ผ้ สอน)
          ู




           การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า
                                       ่                                                          ั
21




                      Lable




                                                                                          PictureBox1




ตัวอย่ างเมื่อรันโปรแกรมแล้ ว.....




Public Class Form1

  Private Sub TimeToolStripMenuItem_Click(****) Handles TimeToolStripMenuItem.Click
    Label1.Text = DateAndTime.TimeString
  End Sub
--------------------------------------------------------------------------------

  Private Sub DateToolStripMenuItem_Click(****) Handles DateToolStripMenuItem.Click
    Label1.Text = DateAndTime.DateString
  End Sub
--------------------------------------------------------------------------------
  Private Sub mnuFileOpen_Click(****) Handles mnuFileOpen.Click
    OpenFileDialog1.Filter = "Bitmaps (*.bmp)|*.bmp"
    If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
      PictureBox1.Image = System.Drawing.Image.FromFile(OpenFileDialog1.FileName)
      mnuFileClose.Enabled = True
    End If
  End Sub
--------------------------------------------------------------------------------
  Private Sub mnuFileClose_Click(****) Handles mnuFileClose.Click
    PictureBox1.Image = Nothing
    mnuFileClose.Enabled = False
  End Sub


  Private Sub mnuFileExit_Click(****) Handles mnuFileExit.Click
    End
  End Sub
--------------------------------------------------------------------------------
  Private Sub mnuClockTextColor_Click(****) Handles mnuClockTextColor.Click
    ColorDialog1.ShowDialog()


            การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า
                                        ่                                                          ั
22

     Label1.ForeColor = ColorDialog1.Color
   End Sub

End Class



ExceptionDemo2

การตรวจสอบความผิดพลาดในโปรเจคของเราถือว่าเป็ นเรื่ องที่ผ้ เู ขียนโปรแกรมต้ องรับผิดชอบในกรณ๊ ที่มีคาดว่าในโค้ ดส่วนดังกล่าว
อาจจะเกิด error ขึ ้นได้ เช่นในตัวอย่างเป็ นการโหลดภาพจาก ไดรว์ A: ซึงไดรว์นี ้อาจจะไม่มีในเครื่ องที่ตดตังโปรแกรม
                                                                     ่                                 ิ ้
ผลคือจะทาให้ เกิด Error ขึ ้นมาระหว่างที่โปรแกรมทางานซึงถือว่าเป็ นความล้ มเหลวดังนี ้เราจะใส่ประโยค Try..Catch
                                                       ่
มาช่วยปองกัน (หากเกิดข้ อผิดพลาดให้ ทางานหลัง Catch)
       ้



        PictureBox1
                                                                                                    Label1




Public Class Form1

   Private Sub Button1_Click(****) Handles Button1.Click
     Try
       PictureBox1.Image = System.Drawing.Image.FromFile("a:img01.jpg")
     Catch
       MsgBox("กรุ ณาใส่ แผ่นดิสก์ที่มีไฟล์ img01.jpg ในไดรว์ A:")
     End Try
   End Sub

End Class




ExceptionDemo3 (ใช้ ภาพจากตัวอย่าง ExceptionDemo2)

และในตัวอย่างนี ้จะเพิ่มคาสัง Finally ในกรณีที่เสร็ จสิ ้นการทางาน
                            ่
Public Class Form1

   Private Sub Button1_Click(****) Handles Button1.Click
     Try
       PictureBox1.Image = System.Drawing.Image.FromFile("a:img01.jpg")
     Catch


           การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า
                                       ่                                                          ั
23

       MsgBox("กรุ ณาใส่ แผ่นดิสก์ที่มีไฟล์ img01.jpg ในไดรว์ A:")
     Finally
        MsgBox("สิ ้นสุดการทางานของ Exception Handler")
    End Try
  End Sub

End Class




ExceptionDemo4

การตรวจสอบความผิดพลาดในโปรเจคบ้ างอาจจะมีมกว่า 1 กรณีที่อาจจะเกิดความผิดพลาดขึ ้นดังนันในตัวอย่างนี ้จะเป็ นการตรวจสอบ
                                          ี                                           ้
ความผิดพลาดแบบมีเงือนไขกากับโดยใช้ คาสัง Catch
                                       ่         When    มากาหนดเงือนไข



        PictureBox1
                                                                                           Label1




Public Class Form1

  Private Sub Button1_Click(****) Handles Button1.Click
    Try
      PictureBox1.Image = System.Drawing.Image.FromFile("a:img01.jpg")
    Catch When Err.Number = 53
        MsgBox("ไม่พบไฟล์ a:img01.jpg กรุ ณาตรวจสอบ")
     Catch When Err.Number = 7
        MsgBox("ไฟล์ที่คณต้ องการโหลดมาแสดงใน PictureBox อาจจะไม่ใช่ไฟล์รูปภาพ")
                        ุ
     Catch
        MsgBox("เกิดปั ญหาในการโหลดไฟล์ a:img01.jpg")
     Finally
        MsgBox("สิ ้นสุดการทางานของ Exception Handler")
    End Try
  End Sub

End Class




          การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า
                                      ่                                                          ั

More Related Content

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

01 การงานตัวควบคุมเบื้องต้น

  • 1. 1 ShowMessageBox ในตัวอย่างนี ้นักศึกษาจะได้ เรี ยนรู้การเรี ยกใช้ กล่องข้ อความ (MessageBox) ในลักษณะต่างๆเพื่อการประยุกต์ใช้ ในการเขียน โปรแกรมให้ มีสวนตอบโต้ กบผู้ใช้ และสาหรับปุ่ ม “ออก” จะเป็ นการประยุกต์กบเหตุการณ์ที่จะออกจากโปรแกรมโดยใช้ คาสัง if ่ ั ั ่ Button1 Button5 Button2 Button6 Button3 Button7 Button4 Button8 Button9 Public Class Form1 Private Sub Button1_Click(*****) Handles Button1.Click MessageBox.Show("แสดงแบบที่ 1") End Sub ------------------------------------------------------------------------------ Private Sub Button2_Click(*****) Handles Button2.Click MessageBox.Show("แสดงแบบที่ 2", "อิอิ") End Sub ------------------------------------------------------------------------------ Private Sub Button3_Click(*****) Handles Button3.Click MessageBox.Show("แสดงแบบที่ 3", "อิอิ", MessageBoxButtons.YesNo) End Sub ------------------------------------------------------------------------------ Private Sub Button4_Click(*****) Handles Button4.Click MessageBox.Show("แสดงแบบที่ 4", "อิอิ", MessageBoxButtons.YesNo, MessageBoxIcon.Information) End Sub ------------------------------------------------------------------------------ Private Sub Button5_Click(*****) Handles Button5.Click MsgBox("แสดงแบบที่ 5") End Sub ------------------------------------------------------------------------------ Private Sub Button6_Click(*****) Handles Button6.Click MsgBox("แสดงแบบที่ 6", , "อิอิ") End Sub ------------------------------------------------------------------------------ Private Sub Button7_Click(*****) Handles Button7.Click MsgBox("แสดงแบบที่ 7", MsgBoxStyle.YesNo, "อิอิ") End Sub ------------------------------------------------------------------------------ Private Sub Button8_Click(*****) Handles Button8.Click MsgBox("แสดงแบบที่ 8", MsgBoxStyle.YesNo + MsgBoxStyle.Exclamation, "อิอิ") การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า ่ ั
  • 2. 2 End Sub ------------------------------------------------------------------------------ Private Sub Button9_Click(*****) Handles Button9.Click If MsgBox("คุณต้องการออกจากโปรแกรมใช่หรื อไม่?", MsgBoxStyle.YesNo + MsgBoxStyle.Exclamation, "ยืนยัน") = MsgBoxResult.Yes Then End End If End Sub End Class ShowName ในตัวอย่างนี ้นักศึกษาจะได้ เรี ยนรู้การส่งค่าไปแสดงยังกล่องข้ อความ และ ใช้ เครื่ องหมาย & เพื่อทาการเชื่อมต่อค่าที่เป็ นข้ อความ (String)และในตัวอย่างที่ 2 จะเป txtName Lable1 txtLName Lable2 Button1 Button2 Button3 Public Class Form1 Private Sub Button1_Click(****) Handles Button1.Click MsgBox("ยินดีตอนรับ คุณ" & txtName.Text & " ้ " & txtLName.Text) End Sub ------------------------------------------------------------------------------ Private Sub Button2_Click(****) Handles Button2.Click Me.Text = "ยินดีตอนรับ คุณ" & txtName.Text & " ้ " & txtLName.Text End Sub ------------------------------------------------------------------------------ Private Sub Button3_Click(****) Handles Button3.Click Button3.Text = "ยินดีตอนรับ ้ คุณ" & txtName.Text & " " & txtLName.Text End Sub End Class การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า ่ ั
  • 3. 3 ColorDay ในตัวอย่างนี ้นักศึกษาจะได้ เรี ยนรู้การส่งค่าสีจากคลาส Color ไปยัง คุณสมบัติ ForeColor ของออฟเจค txtDetail btnSaturDay btnSunday btnMonday btnTuesday Lable1 btnWednesday btnThursDay btnFriday Public Class Form1 Private Sub btnSunday_Click(****) Handles btnSunday.Click txtDetail.Text = "คาทานายวันอาทิตย์" txtDetail.ForeColor = Color.Red End Sub ------------------------------------------------------------------------------ Private Sub btnMonday_Click(****) Handles btnMonday.Click txtDetail.Text = "คาทานายวันจันทร์ " txtDetail.ForeColor = Color.Yellow End Sub ------------------------------------------------------------------------------ Private Sub btnTuesday_Click(****) Handles btnTuesday.Click txtDetail.Text = "คาทานายวันอังคาร" txtDetail.ForeColor = Color.Pink End Sub ------------------------------------------------------------------------------ Private Sub btnWednesday_Click(****) Handles btnWednesday.Click txtDetail.Text = "คาทานายวันพุธ" txtDetail.ForeColor = Color.Green End Sub ------------------------------------------------------------------------------ Private Sub btnThursDay_Click(****) Handles btnThursDay.Click txtDetail.Text = "คาทานายวันพฤหัสบดี" txtDetail.ForeColor = Color.Orange End Sub ------------------------------------------------------------------------------ Private Sub btnFriday_Click(****) Handles btnFriday.Click txtDetail.Text = "คาทานายวันศุกร์" txtDetail.ForeColor = Color.Blue End Sub ------------------------------------------------------------------------------ การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า ่ ั
  • 4. 4 Private Sub btnSaturDay_Click(****) Handles btnSaturDay.Click txtDetail.Text = "คาทานายวันเสาร์ " txtDetail.ForeColor = Color.Violet End Sub End Class ArithmeticOperatorsDemo นักศึกษาต้ องมีความเข้ าใจการใช้ ประโยคคาสัง if และ Elseif เพื่อใช้ ในการควบคุมการคานวณในเหตการณ์ “เมาส์คลิก” ที่ปม ่ ุ่ “คานวณ” โดยใช้ ตวดาเนินการทางคณิตศาสร์ (Operator) มาจัดการกับตัวแปรที่ประกาศไว้ สวนบนเพื่อให้ โปรแกรมย่อยสามารถ ั ่ เรี ยกใช้ ได้ (ถ้ านักศึกษายังไม่เข้ าใจการประกาศตัวแปรในส่วนนี ้ สามารถถามจากผู้สอนได้ ) Label1 btnMonday btnTuesday Label3 TextBox1 TextBox3 Label2 Button1 TextBox2 Button2 RadioButton1 ถึง RadioButton7 GroupBox1 Public Class Form1 Dim FirstNum, SecondNum, Result As Double Private Sub Button1_Click(****) Handles Button1.Click FirstNum = TextBox1.Text SecondNum = TextBox2.Text If RadioButton1.Checked = True Then Result = FirstNum + SecondNum ElseIf RadioButton2.Checked = True Then Result = FirstNum - SecondNum ElseIf RadioButton3.Checked = True Then Result = FirstNum * SecondNum ElseIf RadioButton4.Checked = True Then Result = FirstNum / SecondNum ElseIf RadioButton5.Checked = True Then Result = FirstNum SecondNum ElseIf RadioButton6.Checked = True Then การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า ่ ั
  • 5. 5 Result = FirstNum Mod SecondNum ElseIf RadioButton7.Checked = True Then Result = FirstNum ^ SecondNum End If TextBox3.Text = Result End Sub ------------------------------------------------------------------------------ Private Sub Button2_Click(****) Handles Button2.Click End End Sub End Class DataTypeDemo นักศึกษาต้ องมีความเข้ าใจเกี่ยวกับชนิดของตัวแปร ประเภทต่างๆ ศึกษาสามารถศึกษาได้ จากเอกสารประกอบการสอน ซึงในตัวอย่างได้ นี ้ได้ นาประโยคคาสัง Select..case มาช่วยในการเลือก รายการ (item)ใน ListBox ่ ่ Label1 Label2 Label3 ListBox1 Button1 Public Class Form1 Dim Birds As Short Dim Insects As Integer Dim WorldPop As Long Dim Price As Single Dim Pi As Double Dim Debt As Decimal Dim RetKey As Byte Dim UnicodeChar As Char Dim Dog As String Dim Flag As Boolean Dim Birthday As Date ---------------------------------------------------------------------------------- Private Sub Form1_Load(****) Handles MyBase.Load ListBox1.Items.Add("Short") ListBox1.Items.Add("Integer") ListBox1.Items.Add("Long") ListBox1.Items.Add("Single") ListBox1.Items.Add("Double") ListBox1.Items.Add("Decimal") ListBox1.Items.Add("Byte") ListBox1.Items.Add("Char") ListBox1.Items.Add("String") ListBox1.Items.Add("Boolean") การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า ่ ั
  • 6. 6 ListBox1.Items.Add("Date") End Sub ---------------------------------------------------------------------------------- Private Sub ListBox1_SelectedIndexChanged(****) Handles ListBox1.SelectedIndexChanged Select Case ListBox1.SelectedIndex Case 0 Birds = 12500 Label3.Text = Birds Case 1 Insects = 37500000 Label3.Text = Insects Case 2 WorldPop = 4800000004 Label3.Text = WorldPop Case 3 Price = 899.99 Label3.Text = Price Case 4 Pi = 3.1415926535 Label3.Text = Pi Case 5 Debt = 7600300.5 Label3.Text = Debt Case 6 RetKey = 13 Label3.Text = RetKey Case 7 UnicodeChar = "ก" Label3.Text = UnicodeChar Case 8 Dog = "บักด่าง" Label3.Text = Dog Case 9 Flag = True Label3.Text = Flag Case 10 Birthday = #3/1/1963# Label3.Text = Birthday End Select End Sub ---------------------------------------------------------------------------------- Private Sub Button1_Click(****) Handles Button1.Click End End Sub End Class การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า ่ ั
  • 7. 7 VariableDemo ในตัวอย่างนี ้เป็ นตัวอย่างการประกาศตัวแปร เพื่อให้ สามารถรับค่า และ ส่งค่าไปแสดงผลที่คณสมบัติ Text ของออฟเจค Lable ุ ตัวอย่างนี ้มีฟังก์ชนกล่องรับข้ อความ (inputbox) และ กล่องแสดงข้ อความเพื่อแสดงผล (MessageBox) ั่ Button1 Button2 Button3 Label1 Label2 Button4 Public Class Form1 Private Sub Button1_Click(****) Handles Button1.Click Dim FirstName As String FirstName = "Anooruk" Label1.Text = FirstName FirstName = "อนุรักษ์" Label2.Text = FirstName End Sub --------------------------------------------------------------------------- Private Sub Button2_Click(****) Handles Button2.Click Dim Prompt, FullName As String Prompt = "กรุ ณาป้ อนชื่อและนามสกุลของคุณ" FullName = InputBox(Prompt) Label1.Text = FullName End Sub --------------------------------------------------------------------------- Private Sub Button3_Click(****) Handles Button3.Click Dim Prompt, FullName As String Prompt = "กรุ ณาป้ อนชื่อและนามสกุลของคุณ" FullName = InputBox(Prompt) MsgBox(FullName, , "ชื่อและนามสกุลของคุณ") End Sub --------------------------------------------------------------------------- Private Sub Button4_Click(****) Handles Button4.Click End End Sub End Class การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า ่ ั
  • 8. 8 SimpleAuthentication ก่อนที่จะทาโปรเจคนี ้สิงที่ต้องเตรี ยมก็คือรูปภาพทีมีนามสกุล .jpg(หรื อ นามสกุลใดก็ได้ ) ในตัวอย่างนี ้ เตรี ยมไว้ 2 รูป คือ ่ ่ User_001.jpg และ User_002.jpg ซึงนาไปไว้ ที่ไดว์ C: ่ btnLogin PictureBox1 Public Class Form1 Private Sub btnLogin_Click(****) Handles btnLogin.Click Dim UserName As String UserName = InputBox("กรุ ณาปอนชื่อของคุณ") ้ If UserName = "ติ๊ก" Then MsgBox("ยินดีต้อนรับ คุณ" & UserName) PictureBox1.Image = Image.FromFile("C:User_001.jpg") ElseIf UserName = "สังข์" Then MsgBox("ยินดีต้อนรับ คุณ " & UserName) PictureBox1.Image = Image.FromFile("C:User_002.jpg") Else MsgBox("ไม่มีชื่อของคุณอยูในระบบ") ่ End End If End Sub End Class SimpleAuthentication2 ก่อนที่จะทาโปรเจคนี ้สิงที่ต้องเตรี ยมก็คือรูปภาพทีมีนามสกุล .jpg (หรื อ นามสกุลใดก็ได้ ) ในตัวอย่างนี ้ เตรี ยมไว้ 2 รูป คือ ่ ่ User_001.jpg และ User_002.jpg ซึงนาไปไว้ ที่ไดว์ C: ซึงตัวอย่างนี ้จะรับค่า Username และ Password เข้ า ่ ่ มา แล้ วทาการตรวจสอบความถูกต้ อง หากไม่เช่นนันก็จะปิ ดระบบไป ้ การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า ่ ั
  • 9. 9 btnLogin PictureBox1 Public Class Form1 Private Sub btnLogin_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnLogin.Click Dim UserName, Password As String UserName = InputBox("กรุ ณาปอนชื่อของคุณ") ้ Password = InputBox("กรุ ณาปอนรหัสของคุณ") ้ If UserName = "ดา" And Password = "black" Then MsgBox("ยินดีต้อนรับคุณ " & UserName) PictureBox1.Image = Image.FromFile("C:User_001.jpg") ElseIf UserName = "แดง" And Password = "red" Then MsgBox("ยินดีต้อนรับคุณ " & UserName) PictureBox1.Image = Image.FromFile("C:User_002.jpg") Else MsgBox("ไม่มีชื่อคุณอยูในระบบ หรื อคุณปอนรหัสผ่านไม่ถกต้ อง!") ่ ้ ู End End If End Sub End Class SecurityPanel ในตัวอย่างนี ้นักศึกษาจะได้ ศกษาการใช้ ประโยค select..Case แบบมีเงื่อนไข และ การเชื่อมต่อข้ อความโดยใช้ ออฟเจคเดิมคือ ึ txtSecurityCode ในขณะที่กดปุ่ ม 0 ถึง 9 และเมื่อกดปุ่ ม “Clear” ก็จะเริ่ มต้ นรับรหัสผ่านใหม่ การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า ่ ั
  • 10. 10 lblSecurityCode txtSecurityCode ไม่บอก ?? btnClear btnEnter lstLogEntry Public Class Form1 Private Sub btnEnter_Click(****) Handles btnEnter.Click Dim intAccessCode As Integer ‘เก็บรหัสผ่านที่ปอนเข้ ามา ้ Dim strMessage As String ‘เก็บชื่อการเข้ าถึงของผู้ใช้ intAccessCode = Val(txtSecurityCode.Text) txtSecurityCode.Clear() Select Case intAccessCode Case 1645 To 1689 strMessage = "ช่างเทคนิค" Case 8345 strMessage = "ผู้ควบคุมห้ องปฏิบติการ" ั Case 9998, 1006 To 1008 strMessage = "นักศึกษา" Case Else strMessage = "Access Denied" End Select lstLogEntry.Items.Add(Date.Now & " " & strMessage) End Sub -------------------------------------------------------------------------------- Private Sub btnZero_Click(****) Handles btnZero.Click txtSecurityCode.Text &= "0" End Sub -------------------------------------------------------------------------------- Private Sub btnOne_Click(****) Handles btnOne.Click txtSecurityCode.Text &= "1" End Sub -------------------------------------------------------------------------------- การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า ่ ั
  • 11. 11 Private Sub btnTwo_Click(****) Handles btnTwo.Click txtSecurityCode.Text &= "2" ' End sub -------------------------------------------------------------------------------- Private Sub btnThree_Click(****) Handles btnThree.Click txtSecurityCode.Text &= "3" End Sub -------------------------------------------------------------------------------- Private Sub btnFour_Click(****) Handles btnFour.Click txtSecurityCode.Text &= "4" End Sub -------------------------------------------------------------------------------- Private Sub btnFive_Click(****) Handles btnFive.Click txtSecurityCode.Text &= "5" End Sub -------------------------------------------------------------------------------- Private Sub btnSix_Click(****) Handles btnSix.Click txtSecurityCode.Text &= "6" End Sub -------------------------------------------------------------------------------- Private Sub btnSeven_Click(****) Handles btnSeven.Click txtSecurityCode.Text &= "7" End Sub -------------------------------------------------------------------------------- Private Sub btnEight_Click(****) Handles btnEight.Click txtSecurityCode.Text &= "8" End Sub -------------------------------------------------------------------------------- Private Sub btnNine_Click(****) Handles btnNine.Click txtSecurityCode.Text &= "9" End Sub -------------------------------------------------------------------------------- Private Sub btnClear_Click(****) Handles btnClear.Click txtSecurityCode.Clear() End Sub End Class DigitalClock ิ ในตัวอย่างนี ้ เป็ นการแสดงนาฬกาที่อยูในเครื่ องคอมพิวเตอร์ โดยใช้ ตวควบคุม Timer ่ ั มาช่วยในการวนรอบตามค่าที่ กาหนดไว้ ใน ดังภาพ กาหนดชื่อของ ออฟเจค สังให้ Timer1 เริ่ มทางาน ่ กาหนดจังหวะของการทางาน ต่อครังโดย ้ 1000 เท่ากับ 1 วินาที การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า ่ ั
  • 12. 12 ---------------------------------------------------------------------------------------------------------------------------------------------------------------- lblClock Public Class Form1 Private Sub Timer1_Tick(****) Handles Timer1.Tick lblClock.Text = DateAndTime.TimeString End Sub End Class CarPaymentCalculator ในตัวอย่างนี ้ เป็ นการผ่อนงวดรถโดยใช้ ระยะเวลาในการชาระเงิน 5 ปี ด้ วยอัตราเงือนไขที่ลกค้ ากาหนดเอง นักศึกษาจะได้ ศกษาการใช้ ู ึ ประโยคคาสังแบบวนรอบ Do while (วนรอบจนกว่าเงือนไขจะเป็ นเท็จ) การเพิ่มรายการโดยใช้ ตวควบคุม Listbox ่ ั และการประกาศตัวแปรชนิดต่างๆเพื่อรับค่าและส่งค่า (หากนักศึกษามีความส่งสัยให้ สอบถามผู้สอน) lblPrice txtPrice lblDownPayment txtDownPayment lblInterest txtInterest btnCalculate lstPayments การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า ่ ั
  • 13. 13 Public Class Form1 Private Sub btnCalculate_Click(****) Handles btnCalculate.Click Dim intYears As Integer = 1 Dim intMonths As Integer Dim intPrice As Integer Dim intDownPayment As Integer Dim dblInterestRate As Double Dim intLoanAmount As Integer Dim decInterest As Decimal Dim decTotalPayment As Decimal Dim decMonthlyPayment As Decimal lstPayments.Items.Clear() lstPayments.Items.Add("ระยะเวลาผ่อน" & ControlChars.Tab & "ค่างวดต่อเดือน") intDownPayment = Val(txtDownPayment.Text) intPrice = Val(txtPrice.Text) dblInterestRate = Val(txtInterest.Text) intLoanAmount = intPrice - intDownPayment Do While intYears <= 5 intMonths = 12 * intYears decInterest = Convert.ToDecimal(intLoanAmount * ((dblInterestRate * intYears) / 100)) decTotalPayment = intLoanAmount + decInterest decMonthlyPayment = decTotalPayment / intMonths lstPayments.Items.Add(intMonths & " เดือน" & ControlChars.Tab & ControlChars.Tab & String.Format("{0:C}", decMonthlyPayment)) intYears += 1 Loop End Sub End Class การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า ่ ั
  • 14. 14 InterestCalculator ในตัวอย่างนี ้ เป็ นการผ่อนงวดรถโดยใช้ ระยะเวลาในการชาระเงินตามจานวนปี ที่ลกค้ าต้ องการ ด้ วยอัตราเงือนไขการชาระเงินที่ลกค้ ากาหนด ู ู เอง นักศึกษาจะได้ ศกษาการใช้ ประโยคคาสังแบบวนรอบ For Next (วนรอบตามจานวนที่กาหนด) การเพิมรายการโดยใช้ ตว ึ ่ ่ ั ควบคุม txtResult โดยนักศึกษาต้ องกาหนดคุณสมบัติเพิ่มเติมดังภาพ และการประกาศตัวแปรชนิดต่างๆเพื่อรับค่าและส่งค่า (หาก นักศึกษามีความส่งสัยให้ สอบถามผู้สอน) txtPrincipal btnCalculate txtRate lblPrincipal lblRate updYears lblYears lblYearlyAccount txtResult โดยกาหนดคุณสมบัติ เพิ่มเติมดังนี ้ Public Class Form1 Private Sub btnCalculate_Click(****) Handles btnCalculate.Click Dim decPrincipal As Decimal Dim dblRate As Double Dim intYear As Integer Dim i As Integer Dim decAmount As Decimal Dim strOutput As String decPrincipal = Val(txtPrincipal.Text) dblRate = Val(txtRate.Text) intYear = updYears.Value การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า ่ ั
  • 15. 15 strOutput = "ปี ที" & ControlChars.Tab & ่ "ยอดเงินฝากเมื่อสิ ้นปี ” & ControlChars.CrLf For i = 1 To intYear decAmount = decPrincipal * ((1 + dblRate / 100) ^ i) strOutput &= (i & ControlChars.Tab & String.Format("{0:C}", decAmount) & ControlChars.CrLf) Next txtResult.Text = strOutput End Sub End Class ControlDemo1 ในตัวอย่างนี ้ หลักสาคัญอยูที่การเขียนโปรแกรมกับเหตุการณ์เมือมีการเปลียนแปลงในออฟเจค TextBox1_TextChanged ่ ่ ่ แล้ วส่งค่าไปยังคุณสมบัติ Text ของออฟเจค Lable1 ให้ เปลียนแปลงตามไปด้ วย โดยนักศึกษาต้ องกาหนดคุณสมบัติเพิมเติมดังภาพ ่ ่ TextBox1 Label1 Button1 Button2 Public Class Form1 Private Sub TextBox1_TextChanged(****) Handles TextBox1.TextChanged Label1.Text = TextBox1.Text End Sub ------------------------------------------------------------------------------- Private Sub Button1_Click(****) Handles Button1.Click TextBox1.Text = "Visual Basic 2005" End Sub ------------------------------------------------------------------------------- Private Sub Button2_Click(****) Handles Button2.Click การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า ่ ั
  • 16. 16 TextBox1.Clear() End Sub End Class ControlDemo2 ในตัวอย่างนี ้ สิงที่นกศึกษาต้ องเตรี ยมคือ รูปภาพตามตัวอย่างต้ องเก็บไว้ ที่ "C:image" โดยมีรูปภาพที่ชื่อว่า ่ ั "img01.jpg","img02.jpg", "img03.jpg" อยูในตาแหน่งดังกล่าว ่ โดยในตัวอย่างนี ้สาระสาคัญอยูที่การเรี ยกใช้ ฟังก์ชน ่ ั่ FromFile จากคลาส Image เพื่อที่จะส่งค่าตาแหน่งของรู ปภาพเข้ าไปแล้ ว ส่งค่ากลับ return ออกมาเป็ นรูปภาพจากนันก็สงค่าไปยัง คุณสมบัติ Image ของออฟเจค PictureBox1 ้ ่ (ในตัวอย่างนี ้หากมีข้อสงสัยสามารถสอบถามอาจารย์ผ้ สอนได้ ) ู Label1 PictureBox1 CheckBox1 GroupBox1 GroupBox2 RadioButton1 RadioButton4 RadioButton2 RadioButton5 RadioButton3 RadioButton6 Public Class Form1 Const PICTURE_PATH = "C:image" Private Sub RadioButton1_Click(****) Handles RadioButton1.Click Dim Filename As String = "img01.jpg" PictureBox1.Image = Image.FromFile(PICTURE_PATH & Filename) Label1.Text = Filename End Sub ------------------------------------------------------------------------------ Private Sub RadioButton2_Click(****) Handles RadioButton2.Click Dim Filename As String = "img02.jpg" PictureBox1.Image = Image.FromFile(PICTURE_PATH & Filename) Label1.Text = Filename End Sub ------------------------------------------------------------------------------ Private Sub RadioButton3_Click(****) Handles RadioButton3.Click Dim Filename As String = "img03.jpg" PictureBox1.Image = Image.FromFile(PICTURE_PATH & Filename) การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า ่ ั
  • 17. 17 Label1.Text = Filename End Sub ------------------------------------------------------------------------------ Private Sub RadioButton4_Click(****) Handles RadioButton4.Click PictureBox1.BorderStyle = BorderStyle.None End Sub ------------------------------------------------------------------------------ Private Sub RadioButton5_Click(****) Handles RadioButton5.Click PictureBox1.BorderStyle = BorderStyle.FixedSingle End Sub ------------------------------------------------------------------------------ Private Sub RadioButton6_Click(****) Handles RadioButton6.Click PictureBox1.BorderStyle = BorderStyle.Fixed3D End Sub ------------------------------------------------------------------------------ Private Sub CheckBox1_Click(****) Handles CheckBox1.Click Label1.Visible = CheckBox1.Checked End Sub End Class CheckedListBoxDemo ในตัวอย่างนี ้ นักศึกษาจะได้ เรี ยนรู้การ เพิ่มรายการ(item)ในออฟเจค ListBox และการใช้ คณสมบัติซอนและแสดงออฟเจค ุ ่ Button ทัง้ 3 ตัว โดยผ่านเหตุการณ์เมื่อมีการคลิกรายการให้ เป็ นเครื องหมายถูก(ItemCheck)และใช้ ประโยคคาสัง ่ Select…Case มาช่วยในการแยกการทางานของแต่ละรายการโดยที่แต่ละรายการมีการตรวจสอบเงือนไขว่าเป็ นสถานะ การว่าเป็ นเครื่ องหมายถูกอยูหรื อไม่ โดยใช้ ประโยคคาสัง If…Else มาช่วย ่ ่ Button1 CheckedListBox1 Button2 Button3 Public Class Form1 Private Sub Form1_Load(****) Handles MyBase.Load Button1.Hide() Button2.Hide() Button3.Hide() CheckedListBox1.Items.Add("áÊ´§ Button1") CheckedListBox1.Items.Add("áÊ´§ Button2") CheckedListBox1.Items.Add("áÊ´§ Button3") End Sub ------------------------------------------------------------------------------- Private Sub CheckedListBox1_ItemCheck****) Handles CheckedListBox1.ItemCheck Select Case e.Index การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า ่ ั
  • 18. 18 Case 0 If e.NewValue = CheckState.Checked Then Button1.Show() Else Button1.Hide() End If Case 1 If e.NewValue = CheckState.Checked Then Button2.Show() Else Button2.Hide() End If Case 2 If e.NewValue = CheckState.Checked Then Button3.Show() Else Button3.Hide() End If End Select End Sub End Class ListBoxDemo ในตัวอย่างนี ้ นักศึกษาจะได้ เรี ยนรู้การเรี ยกใช้ คุณสมบัติของออฟเจค ListBox โดยจะเป็ นการเพิมรายการ( Items.Add) ่ การลบทีละรายการ( Items.RemoveAt ) และลบรายการใน ListBox ทังหมด (Items.Clear()) โดยใช้ ประโยคคาสัง ้ ่ If…Else มาช่วยในการกาหนดเงื่อนไขในเหตุการณ์แต่ละ รายการ TextBox1 ListBox1 Button1 Button2 Button3 Public Class Form1 Private Sub Button1_Click(****) Handles Button1.Click ListBox1.Items.Add(TextBox1.Text) TextBox1.Clear() End Sub -------------------------------------------------------------------------------- การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า ่ ั
  • 19. 19 Private Sub Button2_Click(****) Handles Button2.Click 'ตรวจสอบว่าผู้ใช้ ได้ เลือกไอเท็ม ไว้ ก่อนหรื อไม่ If ListBox1.SelectedIndex <> -1 Then ListBox1.Items.RemoveAt(ListBox1.SelectedIndex) Else MsgBox("กรุ ณาเลือกไอเท็มที่จะลบก่อน", MsgBoxStyle.Exclamation) End If End Sub -------------------------------------------------------------------------------- Private Sub Button3_Click(****) Handles Button3.Click ListBox1.Items.Clear() End Sub End Class PictureBoxDemo ในตัวอย่างนี ้ เป็ นตัวอย่างง่ายๆ ในการแสดงรูปภาพเมื่อมีเหตุการณ์คลิกที่ออฟเจค PictureBox1 โดยมีสงที่นาสนใจ ิ่ ่ คือการใช้ เมธอด FromFile ของคลาส Image และการใช้ คาสัง Mod ในการหารเพื่อเก็บเศษ ่ โดยมีสงที่นกศึกษาต้ องเตรี ยมคือ รูปภาพตามตัวอย่างต้ องเก็บไว้ ที่ "C:image" โดยมีรูปภาพที่ชื่อว่า ิ่ ั "img01.jpg","img02.jpg", "img03.jpg" อยูในตาแหน่งดังกล่าว ่ (สาหรับตัวอย่างนี ้หากนักศึกษา ไม่เข้ าใจรูปแบบคาสัง สามารถสอบถามเพิ่มเติมจากอาจารย์ผ้ สอนได้ ) ่ ู ListBox1 PictureBox1 Public Class Form1 Const PICTURE_PATH = "C:image" Dim imageNumber As Integer = 0 ---------------------------------------------------------------------------- Private Sub PictureBox1_Click(****) Handles PictureBox1.Click imageNumber = (imageNumber Mod 3) + 1 PictureBox1.Image = Image.FromFile(PICTURE_PATH & "img0" & CStr(imageNumber) & ".jpg") End Sub End Class การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า ่ ั
  • 20. 20 MenuDemo ในตัวอย่างนี ้ นักศึกษาต้ องทาความเข้ าใจในการใช้ งานออฟเจค menuscript ในการสร้ างเมนูและการกาหนดเหตุการณ์ เมื่อมีการคลิก ที่เมนูคาสังโดยต้ องเพิ่มออฟเจค menuscript เข้ ามาโปรเจคดังภาพ ่ Label1 Public Class Form1 Private Sub TimeToolStripMenuItem_Click(****) Handles TimeToolStripMenuItem.Click Label1.Text = DateAndTime.TimeString End Sub ------------------------------------------------------------------------------------- Private Sub DateToolStripMenuItem_Click(****) Handles DateToolStripMenuItem.Click Label1.Text = DateAndTime.DateString End Sub End Class CommonDialogDemo ในตัวอย่างนี ้ นักศึกษาต้ องใช้ ความพยายามในการทาความเข้ าใจ สาเหตุเพราะการใช้ งานออฟเจค MenuStrip และ OpenFileDialog มีให้ เห็นในโปรเจคโดยทัวไป โดยนักศึกษาต้ องนาออฟเจดังภาพมาวาง ่ นอกจากนี ้แล้ วนักศึกษาจะได้ เรี ยนรู้การเรี ยกใช้ คาสังในการติดต่อกับ วันที่และเวลาในเครื่ องคอมพิวเตอร์ ผานโมดูล DateAndTime ่ ่ และที่สาคัญคือนักศึกษาจะต้ องเพิ่มรายการเมนูผานออฟเจค MenuStrip (หากไม่เข้ าใจเกี่ยวกับการเพิ่มรายการเมนูให้ สอบถาม ่ อาจารย์ผ้ สอน) ู การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า ่ ั
  • 21. 21 Lable PictureBox1 ตัวอย่ างเมื่อรันโปรแกรมแล้ ว..... Public Class Form1 Private Sub TimeToolStripMenuItem_Click(****) Handles TimeToolStripMenuItem.Click Label1.Text = DateAndTime.TimeString End Sub -------------------------------------------------------------------------------- Private Sub DateToolStripMenuItem_Click(****) Handles DateToolStripMenuItem.Click Label1.Text = DateAndTime.DateString End Sub -------------------------------------------------------------------------------- Private Sub mnuFileOpen_Click(****) Handles mnuFileOpen.Click OpenFileDialog1.Filter = "Bitmaps (*.bmp)|*.bmp" If OpenFileDialog1.ShowDialog() = DialogResult.OK Then PictureBox1.Image = System.Drawing.Image.FromFile(OpenFileDialog1.FileName) mnuFileClose.Enabled = True End If End Sub -------------------------------------------------------------------------------- Private Sub mnuFileClose_Click(****) Handles mnuFileClose.Click PictureBox1.Image = Nothing mnuFileClose.Enabled = False End Sub Private Sub mnuFileExit_Click(****) Handles mnuFileExit.Click End End Sub -------------------------------------------------------------------------------- Private Sub mnuClockTextColor_Click(****) Handles mnuClockTextColor.Click ColorDialog1.ShowDialog() การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า ่ ั
  • 22. 22 Label1.ForeColor = ColorDialog1.Color End Sub End Class ExceptionDemo2 การตรวจสอบความผิดพลาดในโปรเจคของเราถือว่าเป็ นเรื่ องที่ผ้ เู ขียนโปรแกรมต้ องรับผิดชอบในกรณ๊ ที่มีคาดว่าในโค้ ดส่วนดังกล่าว อาจจะเกิด error ขึ ้นได้ เช่นในตัวอย่างเป็ นการโหลดภาพจาก ไดรว์ A: ซึงไดรว์นี ้อาจจะไม่มีในเครื่ องที่ตดตังโปรแกรม ่ ิ ้ ผลคือจะทาให้ เกิด Error ขึ ้นมาระหว่างที่โปรแกรมทางานซึงถือว่าเป็ นความล้ มเหลวดังนี ้เราจะใส่ประโยค Try..Catch ่ มาช่วยปองกัน (หากเกิดข้ อผิดพลาดให้ ทางานหลัง Catch) ้ PictureBox1 Label1 Public Class Form1 Private Sub Button1_Click(****) Handles Button1.Click Try PictureBox1.Image = System.Drawing.Image.FromFile("a:img01.jpg") Catch MsgBox("กรุ ณาใส่ แผ่นดิสก์ที่มีไฟล์ img01.jpg ในไดรว์ A:") End Try End Sub End Class ExceptionDemo3 (ใช้ ภาพจากตัวอย่าง ExceptionDemo2) และในตัวอย่างนี ้จะเพิ่มคาสัง Finally ในกรณีที่เสร็ จสิ ้นการทางาน ่ Public Class Form1 Private Sub Button1_Click(****) Handles Button1.Click Try PictureBox1.Image = System.Drawing.Image.FromFile("a:img01.jpg") Catch การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า ่ ั
  • 23. 23 MsgBox("กรุ ณาใส่ แผ่นดิสก์ที่มีไฟล์ img01.jpg ในไดรว์ A:") Finally MsgBox("สิ ้นสุดการทางานของ Exception Handler") End Try End Sub End Class ExceptionDemo4 การตรวจสอบความผิดพลาดในโปรเจคบ้ างอาจจะมีมกว่า 1 กรณีที่อาจจะเกิดความผิดพลาดขึ ้นดังนันในตัวอย่างนี ้จะเป็ นการตรวจสอบ ี ้ ความผิดพลาดแบบมีเงือนไขกากับโดยใช้ คาสัง Catch ่ When มากาหนดเงือนไข PictureBox1 Label1 Public Class Form1 Private Sub Button1_Click(****) Handles Button1.Click Try PictureBox1.Image = System.Drawing.Image.FromFile("a:img01.jpg") Catch When Err.Number = 53 MsgBox("ไม่พบไฟล์ a:img01.jpg กรุ ณาตรวจสอบ") Catch When Err.Number = 7 MsgBox("ไฟล์ที่คณต้ องการโหลดมาแสดงใน PictureBox อาจจะไม่ใช่ไฟล์รูปภาพ") ุ Catch MsgBox("เกิดปั ญหาในการโหลดไฟล์ a:img01.jpg") Finally MsgBox("สิ ้นสุดการทางานของ Exception Handler") End Try End Sub End Class การเขียนโปรแกรมเชิ งวัตถุเพือจัดการฐานข้อมูลด้วย Microsoft Visual Basic 2008 โดย อ.อนุรกษ์ พรมโคตรค้า ่ ั