Практическое руководство. Наследование форм с помощью диалогового окна выбора наследования
Самым простым способом наследования формы или другого объекта является использование диалогового окна Выбор компонентов для наследования. С его помощью можно использовать преимущества кода или пользовательского интерфейса, уже созданного в других решениях.
Note
Чтобы произвести наследование от формы с помощью диалогового окна Выбор компонентов для наследования, нужно встроить проект, содержащий форму, в исполняемый файл или библиотеку DLL. Для сборки проекта выберите в меню Сборка пункт Собрать решение.
Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих параметров или выпуска. Чтобы изменить параметры, выберите в меню Сервис пункт Импорт и экспорт параметров . Дополнительные сведения см. в разделе Персонализация интегрированной среды разработки Visual Studio.
Создание формы Windows Forms, унаследованной от существующей формы, с помощью окна "Выбор компонентов для наследования"
В меню Проект выберите пункт Добавить форму Windows.
Откроется диалоговое окно Добавление нового элемента.
Поиск производная форма шаблона из элемента управления searchbox или щелкнув Windows Forms категории, выберите его и назовите его в имя поле. Нажмите кнопку Добавить, чтобы продолжить.
Откроется диалоговое окно Выбор компонентов для наследования. Если в текущем проекте уже есть формы, то они будут приведены в диалоговом окне Выбор компонентов для наследования.
Для наследования от формы, находящейся в другой сборке, нажмите кнопку Обзор.
В диалоговом окне Выберите файл, содержащий компонент, параметры которого требуется наследовать перейдите к проекту, содержащему нужную форму или модуль.
Щелкните имя файла EXE или DLL, чтобы выделить его, и нажмите кнопку Открыть.
Вы вернетесь в диалоговое окно Выбор компонента для наследования, в котором будет указан соответствующий компонент вместе с проектом, в котором он находится.
Выберите компонент.
В обозревателе решений компонент добавится в проект. Если у него есть пользовательский Интерфейс, элементы управления, которые являются частью наследуемой формы будут помечены знаком глифа () и, при выборе будут иметь границы, указывающее уровень безопасности элемента управления в форме суперкласса. В таблице ниже перечислены варианты поведения, соответствующие различным уровням безопасности.
Уровень безопасности элемента управления Возможное взаимодействие с наследуемой формой через конструктор и редактор кода Public Стандартная граница с маркерами изменения размера: можно изменять размеры и расположение элемента управления. Элемент управления может быть внутренне доступен классу, объявляющему его, и внешне — другим классам. Защищенный Стандартная граница с маркерами изменения размера: можно изменять размеры и расположение элемента управления. Может быть внутренне доступен классу, объявляющему его, и любому классу, который наследуется от родительского класса, но не внешним классам. Protected Internal (Protected Friend в Visual Basic) Стандартная граница с маркерами изменения размера: можно изменять размеры и расположение элемента управления. Может быть внутренне доступен классу, объявляющему его, и любому классу, который наследуется от родительского класса, и другим членам сборки, в которой он содержится. Internal (Friend в Visual Basic) Стандартная граница без маркеров изменения размера, отображаемая в форме; свойства отображаются в окне Свойства. Однако все аспекты элемента управления считаются доступными только для чтения. Нельзя изменить расположение, размер или свойства элемента управления. Если элемент управления является контейнером для других элементов, аналогично группам, нельзя добавить новые элементы управления или удалить существующие, даже если эти элементы являются открытыми. Доступ к элементу управления разрешен только для других членов сборки, в которой он содержится. Private Стандартная граница без маркеров изменения размера, отображаемая в форме; свойства отображаются в окне Свойства. Однако все аспекты элемента управления считаются доступными только для чтения. Нельзя изменить расположение, размер или свойства элемента управления. Если элемент управления является контейнером для других элементов, аналогично группам, нельзя добавить новые элементы управления или удалить существующие, даже если эти элементы являются открытыми. Доступ к элементу управления разрешен только для объявляющего его класса. Информацию о том, как изменить внешний вид базовой формы, см. в разделе Влияние изменения внешнего вида базовой формы.
Note
При сочетании наследуемых элементов управления и компонентов со стандартными в Windows Forms могут возникать конфликты с z-порядком. Их можно устранить, изменив z-порядок. Для этого в меню Формат наведите указатель на пункт Порядок и выберите пункт На передний план или На задний план. Дополнительные сведения о z порядке элементов управления, см. в разделе как: Многоуровневое расположение объектов в формах Windows Forms.