Io

การรับค่าจากผู้ใช้เข้ามา แบบง่ายที่สุดคือการใช้ TextBox ร่วมกับ Button เพื่อรับข้อมูล

    Private Sub testInput(...) Handles btn1.Click
        Dim input_txt As String
        Dim input_num As Integer

        input_txt = txtBox1.Text
        input_num = Val(txtBox2.Text)
    End Sub

หรือจะให้ผู้ใช้กดปุ่ม เพื่อมี InputBox โผล่ขึ้นมาก็ได้

    Private Sub testInput(...) Handles btn1.Click
        Dim input_txt As String

        input_txt = InputBox("Says something.")
    End Sub

เนื่องจาก Visual Basic เน้นการเขียนโปรแกรมแบบ GUI ดังนั้นการรับค่าจึงไม่ได้มีแต่ข้อความเพียงอย่างเดียว สำหรับการรับค่าเข้ามาแบบอื่นๆ ที่ควรรู้จักคือ

CheckBox จะให้ค่าเป็น True หรือ False เท่านั้น

    Private Sub testOthersInput(...) Handles btn1.Click
        MessageBox.show(chkBox1.Checked)
    End Sub

ส่วน RadioButton ก็จะเหมือนกับ CheckBox ทุกประการ ยกเว้นที่ผู้ใช้จะสามารถเลือกได้เพียง 1 อันภายในเขตของ GroupBox หนึ่งๆ เท่านั้น

ด้าน ListBox จะคล้ายกับ RadioButton ตรงที่สามารเลือกได้เพียง 1 อย่างเท่านั้น แต่จะใช้ได้สะดวกกว่าเมื่อมีตัวเลือกจำนวนมากๆ การกำหนดตัวเลือกเริ่มต้นให้มันจะทำผ่าน properties -> data -> items ก็ได้ หรือจะกำหนดค่าให้มันตอนโหลดโปรแกรมดังนี้

    Private Sub frmLoad(...) Handles MyBase.Load
        lstBox1.Items.Add("Apple")
        lstBox1.Items.Add("Google")
        lstBox1.Items.Add("Microsoft")
    End Sub

และเมื่อต้องการค่าของมันว่าผู้ใช้เลือกตัวเลือกไหน ก็เรียกดูได้จาก

    Private Sub testOthersInput(...) Handles btn1.Click
        MessageBox.show(lstBox1.SelectedIndex)
        MessageBox.show(lstBox1.SelectedItem)
    End Sub

ถ้าผู้ใช้ไม่ได้เลือกอะไรเลย จะได้ค่า index กลับมาเป็น -1 หรือได้ค่า item เป็นข้อความว่างครับ


ส่วนการแสดงผลข้อมูลออกมานั้น นอกจากจะใช้ MessageBox อย่างที่ใช้ประจำในตอนก่อนๆ แล้ว ยังสามารถกำหนดค่าของสิ่งต่างๆ ให้เปลี่ยนเป็นคำที่ต้องการได้ด้วย

    Private Sub testOutput(...) Handles btn1.Click
        txtBox1.Text = "Hello World."
        chkBox1.Checked = True
        lstBox1.SelectedIndex = 2
    End Sub

Nattawut Phetmak

Jack of all Trades

blog comments powered by Disqus