Що є правильним способом побудови програм Winform з декількох "екранів"


11

Який правильний спосіб створити програму Winform, яка має кілька "екранів"? Наприклад, я намагаюся написати невелику програму резервного копіювання (в основному для хихикань), і я скидаю елементи контролю та контейнери на форму.

Я використовую панелі та групові скриньки, щоб розділити різні екрани (наприклад: я використовую панель, щоб утримувати всі елементи керування вікна "Налаштування", та іншу панель, щоб показати всі поточні резервні копії, які були налаштовані ). Що ж, мій файл form.cs розрізаний на величезну кількість коду, і я відчуваю, що роблю щось не так. Я навряд чи знайду щось у файлі, і я готовий почати спочатку. Цей проект був якраз для мене, щоб розширити свої знання про C # та .NET, тому почати новий проект - це не велика справа.

Відповіді:


10

Існує ряд способів контролювати складність інтерфейсу користувача.

  • Якщо у вас багато форм, ви можете вибрати шаблон дизайну, який керує переходами: наприклад, контролер програми або ближче до металу: стан .
  • Ви можете скласти групи елементів управління в єдине управління. У програмах winform ви використовуєте керування користувачами .
  • Якщо складність пов'язана з кількістю коду у вашій формі, на відміну від кількості елементів управління, ви можете просто краще інкапсулювати код у об'єкти, використовуючи стандартні об'єктно-орієнтовані методи програмування. Розуміння принципів SOLID - це гарне місце для початку.
  • В іншому випадку існують шаблони для роботи з інтерфейсами користувача. Крім усього іншого (відокремлення питань є важливим), вони полегшують організацію коду. Деякі поширені - MVC , MVP , MVVM

З вашого опису, я б скористався користувацькими елементами управління, щоб замінити те, що ви зараз використовуєте панелями. Тоді просто розмістіть ці елементи управління на своїх формах, де були ваші панелі.


4

У Winforms кожна форма повинна вирішувати власну роботу. У вас повинна бути форма для налаштувань, інша для показу поточних резервних копій тощо.

Якщо ви хочете дотримуватися одноформатних кількох груп, ви можете створити керування користувачами , як сказав SnOrfus , щоб розділити код. Якщо ви все-таки отримаєте тону коду на деяких класах, ви можете мати часткові класи для розділення різного коду на різні файли.

Часткові заняття можуть здатися гарною альтернативою, але я рекомендую це лише вам, оскільки ви будуєте проект хобі. Для більшого або більш складного проекту вам слід використовувати шаблони для делегування потрібної роботи правильним об'єктам, ви також можете перейти на нову технологію, наприклад WPF, де простіше використовувати шаблони, такі як MVVM .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.