Как проектировать формы окон, которые имеют одинаковую структуру? - PullRequest
1 голос
/ 21 июля 2010

В веб-программировании у вас есть одна или несколько главных страниц и несколько страниц содержимого, на которых вы добавляете некоторое содержимое к заполнителям или к элементам доступа мастера.Мой вопрос заключается в том, как обрабатывать формы Windows, которые имеют одинаковый формат, скажем, заголовок, содержимое и нижний колонтитул.Нижний колонтитул всегда один и тот же, верхний колонтитул может немного отличаться, а содержимое всегда будет отличаться (иногда это будет вид сетки, иногда выпадающий список и т. Д.). Если вы извлекаете одну форму из другой формы, я видел, что вы не можете получить к ней доступосновные элементы формы.Итак, я должен создавать только пользовательские элементы управления и создавать каждую форму отдельно, без наследования, используя пользовательские элементы управления?

Ответы [ 3 ]

2 голосов
/ 21 июля 2010

Используйте наследование и убедитесь, что элементы из главной формы, к которой вы пытаетесь получить доступ, объявлены как Защищено (или общедоступно).

Таким образом, элементы будут видны издочерние формы.

1 голос
/ 21 июля 2010

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

  1. Предоставьте несколько свойств, таких как SaveFileDialog, которые представляют вещи, которые вы хотите настроить.В установщике вы устанавливаете правильные значения для меток, графических блоков и т. Д.Затем вы создаете метод show без параметров и отображаете в нем форму.

  2. Предоставьте только метод show, как в MessageBox, и добавьте все настраиваемые детали в качестве параметров.*

Не делайте подкласс Form, потому что это будет просто беспорядок;люди могут настраивать вещи, которые вам не нужны.

0 голосов
/ 22 июля 2010

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

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

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