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