thongkorn โพสต์ 2018-11-12 13:23:38

[VB.NET] การเคลียร์ค่า TextBox ที่อยู่ใน GroupBox ให้เป็นค่าว่างเปล่า

http://www.g2gnet.com/webboard/images/vbnet/cleartextboxgroup.png


เวลาเราใส่ TextBox Control เอาไว้ใน GroupBox Control (บน VB6 เรียกว่า Frame) หรือ Control อื่นๆ ปัญหาก็คือเราจะสั่งเคลียร์ค่าใน TextBox ผ่านฟอร์มโดยตรงไม่ได้ ต้องสั่งผ่าน Container Control ที่มวลหมู่ TextBox ทั้งหลายเข้าไปอยู่ในนั้น ...


มาดูโค้ดกันเถอะ ...
      For Each gb As GroupBox In Me.Controls.OfType(Of GroupBox)()
            For Each tb As TextBox In gb.Controls.OfType(Of TextBox)()
                tb.Clear()
            Next
      Next

puklit โพสต์ 2018-11-16 11:08:06

แก้ไขครั้งสุดท้ายโดย puklit เมื่อ 2018-11-16 11:16

ขออนุญาต อาจารย์ทองก้อน นำไปต่อยอดเพิ่มนะครับ
สำหรับโค้ดข้างล่างนี้ ผมได้เพิ่มค่าพารามิเตอร์ชื่อ Container_Control_Name
สำหรับรับประเภท Control เข้ามา ใช้ในการระบุว่า Textbox นั้นได้วางอยู่บน Control อะไร เช่น Form = Me หรือ Groupbox
เราก็จะสามารถเคลีย์ค่า textbox ที่วางอยู่ภายใต้ Form หรือ GroupBox ภายใต้โค้ดเดียวกันได้ครับ

Private Sub Cls_Textbox(Container_Control_Name As Control)

      For Each txt As TextBox In Container_Control_Name.Controls.OfType(Of TextBox)
            txt.Clear()
      Next

    End Sub
ตัวอย่างโค้ดการเคลีย์ค่า textbox ที่วางอยู่ภายใต้ Form
Cls_Textbox(Me)

ตัวอย่างโค้ดการเคลีย์ค่า textbox ที่วางอยู่ภายใต้ GroupBox
Cls_Textbox(GroupBox1)



หน้า: [1]
ดูในรูปแบบกติ: [VB.NET] การเคลียร์ค่า TextBox ที่อยู่ใน GroupBox ให้เป็นค่าว่างเปล่า