เป็นวิธีที่เหมาะสมในการสร้างแอป Winform ด้วย "หน้าจอ" หลายหน้าจอ


11

วิธีที่เหมาะสมในการสร้างแอป Winform ที่มี 'หน้าจอ' หลายรายการคืออะไร ตัวอย่างเช่นฉันกำลังพยายามเขียนโปรแกรมสำรองข้อมูลขนาดเล็ก (ส่วนใหญ่สำหรับ giggles) และฉันได้ทิ้งการควบคุมและคอนเทนเนอร์ลงในแบบฟอร์ม

ฉันใช้พาเนลและกล่องกลุ่มเพื่อแยกหน้าจอที่แตกต่างกันออกไป (เช่น: ฉันใช้แผงควบคุมทั้งหมดสำหรับหน้าต่าง "การตั้งค่า" และอีกพาเนลอื่นเพื่อแสดงการสำรองข้อมูลปัจจุบันทั้งหมดที่ตั้งค่าไว้ ) ไฟล์ form.cs ของฉันใส่เข้าไปในโค้ดจำนวนมากและฉันรู้สึกว่าฉันทำอะไรผิดไป ฉันแทบจะไม่พบสิ่งใดในไฟล์และฉันพร้อมที่จะเริ่มต้นใหม่ โครงการนี้เป็นเพียงสำหรับฉันที่จะขยายความรู้ของฉันของ C # และ. NET ดังนั้นการเริ่มต้นโครงการใหม่จึงไม่ใช่เรื่องใหญ่

คำตอบ:


10

มีหลายวิธีในการควบคุมความซับซ้อนของ UI

  • หากคุณมีจำนวนมากในรูปแบบที่คุณสามารถเลือกรูปแบบการออกแบบที่จัดการเปลี่ยน: การประยุกต์ใช้ตัวควบคุมเช่นหรือใกล้ชิดกับโลหะ: รัฐ
  • คุณสามารถเขียนกลุ่มของการควบคุมเป็นตัวควบคุมเดียว ใน WinForms คุณสามารถใช้ควบคุมของผู้ใช้
  • หากความซับซ้อนมาจากปริมาณของรหัสในแบบฟอร์มของคุณซึ่งตรงข้ามกับปริมาณของการควบคุมบนแบบฟอร์มคุณสามารถ encapsulate รหัสลงในวัตถุได้ง่ายขึ้นโดยใช้เทคนิคการเขียนโปรแกรมเชิงวัตถุมาตรฐาน ทำความเข้าใจเกี่ยวกับหลักการSOLIDเป็นจุดเริ่มต้นที่ดี
  • มิฉะนั้นจะมีรูปแบบสำหรับการทำงานกับส่วนต่อประสานผู้ใช้ เหนือสิ่งอื่นใด (การแยกข้อกังวลออกมาโดดเด่น) พวกเขาช่วยให้องค์กรมีรหัส บางคนที่พบบ่อยคือMVC , MVP , MVVM

จากคำอธิบายของคุณฉันจะใช้การควบคุมผู้ใช้ที่กำหนดเองเพื่อแทนที่สิ่งที่คุณกำลังใช้แผงควบคุมตอนนี้ จากนั้นให้วางผู้ใช้เหล่านั้นลงในแบบฟอร์มของคุณที่พาเนลของคุณอยู่


4

ในWinformsแต่ละแบบฟอร์มควรจัดการกับงานของตัวเอง คุณควรมีแบบฟอร์มสำหรับการตั้งค่ารูปแบบอื่นเพื่อแสดงการสำรองข้อมูลปัจจุบันเป็นต้น

หากคุณต้องการที่จะยึดติดกับกลุ่มหลายรูปแบบเดียวคุณสามารถสร้างการควบคุมผู้ใช้ตามที่SnOrfusกล่าวเพื่อแยกรหัส หากคุณยังคงมีรหัสเหลืออยู่ในบางคลาสคุณสามารถมีคลาสบางส่วนเพื่อแยกรหัสที่แตกต่างกันในไฟล์ที่แตกต่างกัน

คลาสบางส่วนอาจเป็นทางเลือกที่ดี แต่ฉันแนะนำให้คุณเพราะคุณสร้างโครงการงานอดิเรก สำหรับโครงการที่มีขนาดใหญ่ขึ้นหรือซับซ้อนขึ้นคุณควรใช้รูปแบบเพื่อมอบหมายงานที่ถูกต้องให้กับวัตถุที่ถูกต้องคุณยังสามารถเปลี่ยนไปใช้เทคโนโลยีใหม่เช่นWPFที่ใช้รูปแบบเช่นMVVMได้ง่ายขึ้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.