Каков наилучший способ создания динамического графического интерфейса в .net? - PullRequest
0 голосов
/ 26 марта 2011

Я должен создать динамический графический интерфейс в .net. Мое требование состоит в том, что в этом графическом интерфейсе некоторая часть графического интерфейса будет меняться в соответствии с требованием, в то время как есть одна часть, которая будет универсальной в любое время. Каков наилучший способ создания этого типа динамического графического интерфейса?

Ответы [ 3 ]

1 голос
/ 27 марта 2011

Лучший способ, который я нашел, - это использовать WPF и шаблон MVVM. Это своего рода неопределенный ответ, но, милосердие, это своего рода неопределенный вопрос.

0 голосов
/ 27 марта 2011

Это полностью зависит от динамического интерфейса.Есть много способов решить эту проблему.Вот несколько примеров, чтобы дать вам несколько идей:

Если он действительно динамический (например, управляемый данными) и поэтому может полностью отличаться при каждом создании пользовательского интерфейса, тогда очень простой подход - создать элементы управления из ваших данных.(Например, отслеживайте координату Y, и каждый раз, когда вам нужен новый элемент управления, создайте один из соответствующего типа в этой позиции Y, а затем добавьте размер элемента управления (плюс пробел) к Y).По сути, это то, что делает код, сгенерированный конструктором форм, поэтому легко увидеть любое количество примеров, просто создав несколько примеров форм и просмотрев сгенерированный код.Хорошим трюком для размещения этих элементов управления является размещение их в выделенном элементе управления Panel в форме пользовательского интерфейса - таким образом вы можете перемещать динамический интерфейс в любом месте внутри родительской формы, просто перемещая панель.

Еслиэто только «полудинамический», в котором есть фиксированный «пул» предопределенных пользовательских интерфейсов, один из которых выбирается в зависимости (скажем) от текущего выбора, тогда вы можете создать класс User Control для каждого из этих UI«Панели», а затем либо (а) программно добавьте / удалите их из главной формы, либо (б) добавьте их все основные формы в конструкторе и программно установите Visible = false или Visible = true, чтобы гарантировать, что только одна панель ввремя на самом деле является видимым для пользователя.

Конечно, вы можете встроить эти «динамические» панели в фиксированный бит пользовательского интерфейса, чтобы вы могли свободно смешивать два типа элемента пользовательского интерфейса.

0 голосов
/ 27 марта 2011

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

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

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

Это относительно простая часть.Сложной частью является координация между основной формой и имплантированной дочерней формой.Они разделяют меню или панели инструментов?Должен ли ребенок общаться со своим родителем или с родителем ребенка?

Нам нужно немного больше информации о том, как вы выбираете структуру пользовательского интерфейса, чтобы предоставить больше помощи.

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