ProjectForStudy

 ลืมรหัสผ่าน
 ลงทะเบียน
ค้นหา
ดู: 225|ตอบกลับ: 2

[แบ่งปัน] สร้างฟอร์มหลัก (Main form) ด้วย NavBar & TreeList & XtraTabbedMdiManager by DevExpress

[คัดลอกลิงก์]
  • อารมณ์วันนี้
    แฮปปี้
    1 ชั่วโมงที่แล้ว
  • เช็คชื่อแล้ว: 302 วัน

    [LV.8]ConquerorI

    26

    กระทู้

    646

    โพสต์

    3087

    เครดิต

    RapterClaw

    Rank: 5Rank: 5

    เครดิต
    3087
    Ticket
    1962
    จิตพิสัย
    1125

    Merciful MemberInstructor

    แก้ไขครั้งสุดท้ายโดย puklit เมื่อ 2019-7-4 13:57

    วันนี้ผมขอนำเสนอการสร้างฟอร์มหลัก (Main form) ด้วย NavBar & TreeList & XtraTabbedMdiManager by DevExpress (Third party)






    โดย Control หลัก ๆ จะมีดังนี้

    1. XtraForm (Form)
    2. BarManager (Menu & Status bar)
    3. NavBarControl
    4. Treelist (TreeView)
    5. XtraTabbedMdiManager (สำหรับเปิดฟอร์มลูก)
    6. ImageCollection (สำหรับเก็บรูปภาพขึ้นแสดงบน Treelist)

    จะเห็นได้ว่าผมไม่ได้ใช้ Standard control จาก Visual studio แม้แต่ตัวเดียว สำหรับท่านที่ไม่เคยใช้ไม่ต้องสงสัยนะครับ (มันคล้าย ๆ กัน)
    เริ่มจาก
    1. สร้างโปรเจค


    2. เพิ่ม BarManager สำหรับสร้างเมนูโปรแกรม


    3. เพิมเครื่องมือเข้ามาในเมนู (ผมเลือกเพิ่ม BarListitem) ซึ่งจุดนี้แล้วแต่ท่านจะเพิ่ม Controls ที่จะใช้งาน มันมีเยอะมาก




    4. เพิ่ม NavBarControl สำหรับสร้างรายการเปิดฟอร์มจากระบบที่เราสร้างขึ้นมา แบบ (Treeview)


    ทำการ Dock = Left & Paint stype = NavigationPane (เพื่อให้สามารถซ่อนเมนูได้)


    เปลี่ยน Group stype ของ NavBarControl = ControlContainer เพื่อให้สามารถวางคอนโทรล์ตัวอื่นได้บน NavBarControl ในที่นี้ก็คือ TreeList


    5. วาง Control TreeList ลงบน NavBarControl พร้อมกับ กำหนด Dock in Parent Container


    หลังจากนั้นทดสอบรันโปรแกรมครั้งแรกเพื่อดูหน้าตาของฟอร์มจะได้ดังนี้


    ย่อขยายได้


    6. หลังจากนั้นให้เพิ่ม Resource ไฟล์สำหรับเตรียมรูปใช้งานกับ ImageCollection และ TreeList ของเรา (แล้วแต่ท่านว่าจะใช้รูปอะไรบ้างในโปรแกรมของท่าน)






    กำหนดรูปใน Resource ให้กับ ImageCollection


    7. เริ่มสร้างเมนูรายการ (ที่จะใช้ในระบบของเราลงใน TreeList)


    โค้ดเบื้องต้นที่ใช้สร้างข้อมูล มีดังนี้

    1. ' ตัวอย่างฐานข้อมูลในรูปแบบ Datatable สามารถโหลดมาจากฐานข้อมูลได้
    2.     Private Function Menu_DB() As DataTable

    3.         Dim dt As New DataTable()

    4.         dt.Columns.Add("Key_Node", GetType(Integer))
    5.         dt.Columns.Add("Parent_Node", GetType(Integer))
    6.         dt.Columns.Add("Description", GetType(String))
    7.         dt.Columns.Add("Form_Name", GetType(String))
    8.         dt.Columns.Add("Icon", GetType(String))

    9.         dt.Rows.Add(1, 0, "ข้อมูลพนักงาน", DBNull.Value, "Employee16")
    10.         dt.Rows.Add(2, 1, "ฟอร์ม1", "Form1", "Docs16")
    11.         dt.Rows.Add(3, 1, "ฟอร์ม2", "Form2", "Docs16")
    12.         dt.Rows.Add(4, 1, "ฟอร์ม3", "Form3", "Docs16")
    13.         dt.Rows.Add(5, 0, "ตั้งค่า", DBNull.Value, "Setting16")
    14.         dt.Rows.Add(6, 5, "ฟอร์ม4", "Form4", "Process16")
    15.         dt.Rows.Add(7, 5, "ฟอร์ม5", "Form5", "Process16")

    16.         Return dt

    17.     End Function

    18. ' สร้างเมน ให้กับ Treelist
    19.     Private Sub Create_Menu()

    20.         With TreeList1

    21.             .ParentFieldName = "Parent_Node" ' กำหนดชื่อฟิลด์ Parent field
    22.             .KeyFieldName = "Key_Node" ' กำหนด Key field
    23.             .RootValue = String.Empty ' ไม่กำหนด Root value
    24.             .DataSource = Menu_DB() ' กำหนด Data source ของ Treelist มาจากฟังก์ชั่น Menu_DB (คืนค่าในรูปแบบ Datatable)

    25.         End With

    26.         Set_Treelist() ' ตั้งค่า Properties ของ Treelist

    27.     End Sub
    คัดลอกไปที่คลิปบอร์ด


    สำหรับการปรับแต่ง TreeList ให้เหมือน TreeView สามารถดาวโหลดโค้ดตัวอย่างที่ผมแนบไว้ให้ไปดูได้ครับ อยู่ในรูปแบบของ Method & Events ของ TreeList

    8. วาง Control XtraTabbedMdiManager ลงบนฟอร์มหลักสำหรับเปิดฟอร์มลูก


    9. สร้างฟอร์มในระบบของเราที่ต้องใช้ ตัวอย่างผมสร้างไว้คือ Form1 - Form5 (โดยใช้ XtraForm)


    10. สร้าง Events Double click สำหรับเปิดฟอร์มไว้ใน Control TreeList


    สำหรับโค้ดในการเปิดฟอร์มใช้โค้ดเดียวกับลิงค์นี้ครับ
    http://www.projectforstudy.com/thread-1590-1-1.html

    จะเป็นประโยชน์ต่อท่านที่ใช้ DevExpress อยู่แล้ว หรือกำลังศึกษาที่จะใช้งาน
    เน้นย้ำ DevExpress ตัวนี้ไม่ฟรีนะครับต้องจ่ายตังเพื่อซื้อมาใช้งาน ยกเว้นท่านจะได้มาใช้งานแบบไม่แท้
    แต่ถ้าท่านโหลดมาจากเวปใช้งานสามารถทดลองใช้งานฟรี 30 วัน

    ท่านสามารถดาว์นโหลดตัวอย่างโปรแกรมได้ตามลิ้งค์ข้างล่างนี้ (ผมใช้ DevExpress V.18.2 หากท่านใช้ Version ก่อนหน้าต้องหาตัวใหม่มาลง)




    ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง

    คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? ลงทะเบียน

    x
  • อารมณ์วันนี้
    สู้
    26 นาทีที่แล้ว
  • เช็คชื่อแล้ว: 218 วัน

    [LV.7]JuniorIII

    15

    กระทู้

    400

    โพสต์

    1007

    เครดิต

    HawkBrain

    Rank: 4

    เครดิต
    1007
    Ticket
    331
    จิตพิสัย
    676
    anuyutza1995 โพสต์ 2019-6-17 17:01:47 | ดูโพสต์ทั้งหมด
    ขอบคุณครับ
  • อารมณ์วันนี้
    เครียด
    2019-7-7 17:11
  • เช็คชื่อแล้ว: 13 วัน

    [LV.3]BeginnerII

    0

    กระทู้

    44

    โพสต์

    118

    เครดิต

    BabyGhost

    Rank: 1

    เครดิต
    118
    Ticket
    34
    จิตพิสัย
    84
    ferigo โพสต์ 2019-7-7 17:46:42 | ดูโพสต์ทั้งหมด
    ขอบคุณครับ
    ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | ลงทะเบียน

    รายละเอียดเครดิต

    ข้อความล้วน|อุปกรณ์พกพา|ประวัติการแบน|ProjectForStudy  

    GMT+7, 2019-7-19 08:26 , Processed in 0.051816 second(s), 26 queries .

    Powered by Discuz! X3.2 R20150609, Rev.38

    © 2001-2013 Comsenz Inc.

    ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้