Apa cara yang tepat untuk membangun aplikasi Winform dengan beberapa "layar"

11

Apa cara yang tepat untuk membangun aplikasi Winform yang memiliki banyak 'layar'? Sebagai contoh, saya mencoba untuk menulis program cadangan kecil (terutama untuk cekikikan), dan saya telah membuang kontrol dan wadah ke formulir.

Saya menggunakan panel dan kotak grup untuk memisahkan layar yang berbeda (misalnya: Saya menggunakan panel untuk menahan semua kontrol untuk jendela "Pengaturan", dan panel lain untuk menampilkan semua cadangan saat ini yang telah disiapkan ). File form.cs saya membengkak menjadi sejumlah besar kode, dan saya merasa seperti melakukan sesuatu yang salah. Saya hampir tidak dapat menemukan apa pun di file, dan saya siap untuk memulai dari awal. Proyek ini hanya untuk saya untuk memperluas pengetahuan saya tentang C # dan .NET, jadi memulai proyek baru bukanlah masalah besar.

CurtisHx
sumber

Jawaban:

10

Ada sejumlah cara untuk mengontrol kompleksitas UI.

  • Jika Anda memiliki banyak formulir, Anda dapat memilih pola desain yang mengelola transisi: Pengontrol Aplikasi misalnya, atau lebih dekat ke logam: Status .
  • Anda dapat menyusun grup kontrol menjadi kontrol tunggal. Dalam winforms, Anda menggunakan Kontrol Pengguna .
  • Jika kerumitannya berasal dari jumlah kode dalam formulir Anda, berbeda dengan jumlah kontrol pada formulir, Anda bisa dengan mudah merangkum kode menjadi objek menggunakan teknik pemrograman berorientasi objek standar. Memahami prinsip-prinsip SOLID adalah tempat yang baik untuk memulai.
  • Kalau tidak, ada pola untuk bekerja dengan antarmuka pengguna. Antara lain (pemisahan keprihatinan menjadi menonjol), mereka memfasilitasi pengorganisasian kode. Beberapa yang umum adalah MVC , MVP , MVVM

Dari uraian Anda, saya akan menggunakan kontrol pengguna khusus untuk mengganti apa yang Anda gunakan panel untuk saat ini. Lalu, letakkan kontrol pengguna itu di formulir Anda di tempat panel Anda berada.

Steven Evers
sumber
4

Dalam WinForms setiap formulir harus menangani pekerjaannya sendiri. Anda harus memiliki formulir untuk pengaturan, yang lain untuk menunjukkan cadangan saat ini, dll.

Jika Anda ingin tetap menggunakan beberapa grup bentuk tunggal, Anda dapat membuat Kontrol Pengguna , seperti yang dikatakan SnOrfus , untuk memisahkan kode. Jika Anda masih memiliki banyak kode pada beberapa kelas, Anda dapat memiliki kelas Partial untuk memisahkan kode yang berbeda ke file yang berbeda.

Kelas parsial mungkin tampak sebagai alternatif yang baik tetapi saya hanya merekomendasikan itu kepada Anda karena Anda membangun proyek hobi. Untuk proyek yang lebih besar atau lebih kompleks, Anda harus menggunakan pola untuk mendelegasikan pekerjaan yang tepat ke objek yang tepat, Anda juga dapat beralih ke teknologi baru seperti WPF di mana lebih mudah untuk menggunakan pola seperti MVVM .

Valter Costa
sumber