C # пользовательский интерфейс, лучшая реализация? - PullRequest
0 голосов
/ 04 ноября 2011

Я делаю пользовательский интерфейс для своего приложения.В основном мое приложение имеет несколько «вкладок».Каждая вкладка имеет панель управления, привязанную к ней, для отображения содержимого вкладок.При щелчке любой из вкладок отображается соответствующий элемент панели управления (отображающий содержимое), а остальные панели становятся невидимыми.

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

Можно ли как-то спроектировать все панели, как на отдельной «форме», или как-то так же, как у меня есть отдельные классы?если это имеет смысл.Спасибо!

РЕДАКТИРОВАТЬ: Я не могу использовать стандартный элемент управления вкладки, потому что мое приложение имеет пользовательский графический интерфейс, все кнопки и все, что разработано в приложении обработки изображений.Управление вкладками не позволяет мне использовать собственную графику.

Я собираюсь взглянуть на UserControl, спасибо всем!

Ответы [ 3 ]

1 голос
/ 04 ноября 2011

Вы можете создать содержимое каждой вкладки в отдельном UserControl.Используйте каждый UserControl как единственный контент на каждой вкладке.

1 голос
/ 04 ноября 2011

Вы должны иметь возможность проектировать каждую «панель» как отдельную UserControl .

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

0 голосов
/ 04 ноября 2011

Сначала я бы предложил вам придерживаться стандартных элементов управления .NET в большинстве случаев. В этом случае особенно подходит стандарт TabControl.

Тем не менее, вы можете поместить все панели в форму в их окончательное расположение (не вставляя панель в другую панель). Затем вы можете использовать раскрывающийся список в диалоговом окне «Свойства», чтобы выбрать Panel, с которым хотите работать. Затем перейдите в меню Формат и выберите Заказ -> Вывести на фронт . Это выведет желаемую панель на передний план, так что вы можете использовать дизайнер на ней. Затем вы можете продолжать скрывать или показывать соответствующие панели во время выполнения.

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