Visable ทั้งกลุ่ม
กระทู้เก่าบอร์ด อ.Yeadram

 1,375   4
URL.หัวข้อ / URL
Visable ทั้งกลุ่ม

ผมมี Object หลายตัว ที่ Visable=Flase ไว้
ต่อมาผมต้องการ ให้ Clinck   CommandBtt แล้ว Visable=True ทั้งกลุ่ม
แต่ขี้เกียจไล่ชื่อทั้งหมด ทำได้ไหมครับ โดยไม่ต้องไล่ชื่อ

หมายเหตุ Object ทั้งหมดอยู่ใน Area ใกล้ๆ กัน

4 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R01112
ทำ Bound Object Frame มาคลุมไว้สิครับ
โดยกำหนด Back Color เป็นสีเดียวกันกับ สีพื้นของ form
(ในเมื่อ อยู่ใน Area ใกล้กัน ยิ่งง่ายครับ)

แล้วทำ Toggle Botton ให้ Bound Object Frame นั้นๆ Visible = True หรือ False
2 @R01113
- สร้าง box control สีทึบ ให้มันวางอยู่หน้าสุด
เวลาปกติ สั่งมัน visible=false
เวลาต้องคลิ๊กปุ่มคำสั่ง ก็สั่งมัน visible = true
รับรองว่า control แถวนั้นหายเกลี้ยงแน่ อิอิ
ถ้ากลุ่มพื่นที่ที่ต้องการ มันไม่เป็นสี่เหลี่ยม ก็สร้างซัก 2 box อิอิ

- เปลี่ยนชื่อ control ให้มีรูปแบบคล้ายๆ กัน แล้วใช้ หลักการ control array

Dim ctl as control
for each ctl in controls
if ctl.name =.............. then ctl.visible = false
next

ตรงจุดไข่ปลาที่ละไว้ แล้วแต่กรณีการดัดแปลง เช่นถ้าเราตั้งชื่อให้คอนโทรลเหล่านี้มีชื่อที่นำหน้าด้วย vis เช่น
visField1, visField2, visField3, visField4 เป็นต้น
เราก็จะใช้เงื่อนไขว่า
if Left(ctl.name,3)='vis' then ctl.visible=false
เป็นต้น
3 @R01114
Sub VisibleCtl()
Dim ctl As Control
Dim X As String
For Each ctl In Me.Form.Controls
    If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Or ctl.ControlType = acCommandButton Then
    X = Left(ctl.Name, 3)
    If X <> "vis" Then 'If X <> "vis" And X <> "lbl" Then
            If ctl.Visible = True Then
               ctl.Visible = False
            End If
        End If
    End If
Next ctl
End Sub
'ทำตามที่อ.yeadram ใช้ได้จริงๆ
4 @R01115
OK ได้แล้วครับ ขอบคุณทุกท่านมากครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2805s