การรับส่งข้อมูลระหว่างฟอร์มโดยวิธีอย่างง่าย

บทความวันนี้ เป็นคำถามจากทางผู้อ่านถามเข้ามา แต่เผอิญคนเขียน ดันลืมทำช่องให้กรอก Email ตอบกลับซะนี่… ผู้เขียนเลยคิดว่า เขียนเป็นบทความขึ้นมาใหม่เลยดีกว่า ง่ายดี
เรามาดูคำถามกันเลยดีกว่า
สร้างข้อมูลค้นหา mysql จาก VB ค้นหาข้อมูล ที่อยู่ใน mysql โดย link จาก form1 ใส่ข้อมูลที่ค้นหา แล้ว มาแสดงที่ form2 ที่เป็น txtbox นะครับ ทำไงหรอครับ
คำตอบ อันนี้ไม่ยากครับ เหมือนกับการส่ง String จาก form1 เข้าไปแสดงบน control ซักอันบน form2 นั่นแหละครับ ซึ่งเราอาจทำการส่งผ่าน Method ใดๆที่เราสร้างขึ้นมาบน form2 แล้วให้ Method นั้นๆ เรียกใช้ Me.Show()ก็พอแล้วครับ
ดูที่ form1 ก่อน ให้เราเพิ่ม Button เข้าไปนะครับ โดยตั้งชื่อว่า button1 จากนั้น ให้ดับเบิ้ลคลิ๊กที่ปุ่ม สร้าง event ขึ้นมา
Public Class Form1
    Private SubButton1_Click(sender As System.Object, e AsSystem.EventArgs) HandlesButton1.Click
    End Sub
End Class
จากนั้นเมื่อดกปุ่ม ผมติ๊ต่างเลยละกัน ว่าเรา query ข้อมูลอะไรเสร็จแล้ว มาเก็บไว้ใน

 

 

String เลย (ไปดูได้จากตอนก่อนๆ http://fbpstyle.blogspot.com/2012/06/mysql-with-c-vb-net.html)

    Private SubButton1_Click(sender As System.Object, e AsSystem.EventArgs) HandlesButton1.Click
        ‘Query from database
       
       
       
        Dim result As String = “QUERY_RESULT”เก็บผลลัพท์ที่ได้จากการ Query เป็น String เพื่อให้ง่ายต่อการส่งผ่าน
    End Sub
ใน form2 ก็ให้เราสร้าง TextBox ขึ้นมาหนึ่งอันเช่นกัน ชื่อว่า textBox1 แล้วทำการเพิ่มฟังชั่นนี้เข้าไป
Public Class Form2
    Public SubShowText(ByVal text AsString)
        TextBox1.Text = text
        Me.Show()
    End Sub
End Class
ซึ่ง Method ShowText() นี้ จะทำการรับ String ที่เราส่งมา มาเก็บค่าไว้ใน textBox1.Text แล้วค่อยสั่งให้ตัวของ form2 แสดงออกมาทางหน้าจอด้วย Me.Show()
แต่ด้วยวิธีนี้ ผู้ใช้สามารถกลับไปที่ form1 แล้วกดปุ่มหลายๆครั้ง เพื่อแสดง form2 เยอะๆ ได้ เราจึงควรเปลี่ยนจาก Me.Show()เป็น Me.ShowDialog() แทน
กลับไปที่ form1 ให้เราทำการเพิ่มการเรียกใช้ Form2.ShowText() ไปใน event ของ button1 ได้ดังนี้
Public Class Form1
    Private SubButton1_Click(sender As System.Object, e AsSystem.EventArgs) HandlesButton1.Click
        ‘Query from database
       
       
       
        Dim result As String = “QUERY_RESULT”เก็บผลลัพท์ที่ได้จากการQuery เป็น String เพื่อให้ง่ายต่อการส่งผ่าน
        Form2.ShowText(result)
    End Sub
End Class
จากนั้น ก็ทำการ Build ให้เรียบร้อย ทดสอบรัน ก็จะเห็นได้ว่า เมื่อเราทำการคลิ๊กที่ปุ่มบน form1 ก็จะมี form2 แสดงออกมา พร้อมกับข้อความที่เราต้องการ

 

One thought on “การรับส่งข้อมูลระหว่างฟอร์มโดยวิธีอย่างง่าย

  1. ทำไมผมเห็นหัวข้อแล้วคิดไปไกลถึง ส่ง Windows Message กันนะ 555+

Leave a Reply

Your email address will not be published. Required fields are marked *