puklit โพสต์ 2018-1-11 08:55:57

[VB.NET] การเปิด Mdiparent form และ Windows list (ฉบับทำเอง)

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

สวัสดีทุกท่านผมมีรูปแบบการเปิด Mdiparrent form และเมนู Windows list อีกรูปแบบหนึ่งมานำเสนอ
จากโค้ดทั่วๆ ไปจะเขียนดังนี้
VB.NET
Form1.MdiParent = Me
Form1.Show()

C#
Form1 frm = new Form1();
frm.MdiParent = this;
frm.Show();


ประเด็นคือ แล้วถ้า Project ของเรามีซักประมาณ 100+ ฟอร์มหละจะทำยังไง ก็คูณโค้ด 2 บรรทัดข้างบนเข้าไปก็จะทำให้หน้าหลักของเราส่วนใหญ่เต็มไปด้วยคำสั่งเปิดฟอร์มเป็นส่วนใหญ่
ยิ่งถ้าเป็น C# แล้วยิ่งหนักกว่านี้ต้องมีตัวแปรไปอ้างอิง Form ที่เราจะต้องการเปิดก่อนจึงจะเรียกเปิดฟอร์มได้ เพราะเราไม่สามารถเรียกเปิดฟอร์มแบบตรง ๆ เหมือน VB.Net ได้
ซึ่งปัญหานี้เองผมเองคิดว่าลำบากพอสมควรในการเขียนโค้ด จึงได้หาวิธีที่จะเปิดฟอร์มให้มีความยืดหยุ่นมากขึ้นลดการเขียนโค้ดให้น้อยลง
ซึ่งวิธีนี้จะมีประโยชน์สำหรับ Project ที่ค่อนข้างใหญ่มีฟอร์มลูกเยอะ หรือมีการกำหนดสิทธิ์ของผู้ใช้งานให้แสดงเมนูตามสิทธิ์ที่เราได้กำหนดไว้ในฐานข้อมูล
และดึงเมนูแสดงฟอร์มกลับมาในรูปแบบ Treeview , Datagrid view , หรือ Listview เป็นต้น

โดยผมจะไม่ขอลงโค้ดในบอร์ด ให้ท่านโหลดไฟล์ไปทดสอบเอง

ภาพรวมของหน้าหลัก


ตัวอย่างการเปิดฟอร์ม
ท่านสามารถเปิดฟอร์มผ่าน Text menu หรือเมนูปกติ ตามรูปดังนี้


ตัวอย่าง Windows list ในรูปแบบฟอร์ม + Datagridview


ตัวอย่าง Windows list ที่ผมใช้ในโปรแกรม


ดาวน์โหลดโค้ดต้นฉบับแบบเต็ม VB.NET (2015) ได้ที่นี่








หน้า: [1]
ดูในรูปแบบกติ: [VB.NET] การเปิด Mdiparent form และ Windows list (ฉบับทำเอง)