C # Multi-панель / слой Winform приложение - PullRequest
1 голос
/ 01 сентября 2011

Я разрабатывал довольно сложное приложение для авионики. Дело в том, что у него много кнопок меню, которые нужно нажимать (12, если быть точным), и каждая из них выполняет свое действие. Например, одна может быть панелью входа в систему, а другая - программой чтения PDF. Как я могу организовать это программно?

В настоящее время я настраиваю каждый элемент на панели и устанавливаю его видимым или невидимым в соответствии с активным или выбранным элементом.

Как бы вы, ребята, сделали это? Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 01 сентября 2011

Вы можете рассмотреть FlowLayoutPanel , хотя я не уверен, насколько гибким он будет для удовлетворения ваших требований. Если вы настроите свои панели с помощью свойств стыковки, вы сможете управлять ими.

Я бы также рекомендовал использовать UserControl для разделения кода и функциональности. Если панели должны обмениваться данными, используйте шаблон наблюдателя / наблюдаемого вместо подписки на события между пользовательскими элементами управления.

0 голосов
/ 01 сентября 2011

Как говорит IAbstract, вам следует рассмотреть возможность разделения различных элементов пользовательского интерфейса как элементов управления пользователя. Затем вы можете делать такие вещи, как использовать фабрику для их создания и добавлять их в свое окно по мере необходимости.

Я обнаружил, что такой подход, используемый с шаблоном типа Model-View-Presenter, действительно хорошо работает для приложений WinForms с динамическими пользовательскими интерфейсами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...