Пошаговое руководство. Демонстрация визуального наследования
Визуальное наследование позволяет просматривать элементы управления в базовой форме и добавлять новые элементы управления. В этом пошаговом руководстве рассматривается создание базовой формы и ее компиляция в библиотеку классов. После этого данная библиотека классов импортируется в другой проект и создается новая форма, которая наследуется от базовой формы. В этом пошаговом руководстве описаны следующие процедуры.
Создание проекта библиотеки классов, содержащей базовую форму.
Добавление кнопки со свойствами, которые могут изменяться производными классами базовой формы.
Добавление кнопки, которая не может изменяться наследниками базовой формы.
Создание проекта, содержащего форму, которая наследуется от
BaseForm
.
В конечном счете в этом пошаговом руководстве показано различие между частным и защищенным элементами управления в производной форме.
Note
Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих параметров или выпуска. Чтобы изменить параметры, выберите в меню Сервис пункт Импорт и экспорт параметров . Дополнительные сведения см. в разделе Персонализация интегрированной среды разработки Visual Studio.
Caution
Не все элементы управления поддерживают визуальное наследование от базовой формы. Не поддерживают сценарий, описанный в этом пошаговом руководстве, следующие элементы управления:
Эти элементы управления в производной форме всегда доступны только для чтения, независимо от используемых модификаторов (private
, protected
или public
).
Шаги сценария
Первым шагом является создание базовой формы.
Создание проекта библиотеки классов, содержащей базовую форму
Из файл меню, выберите New, а затем проекта открыть новый проект диалоговое окно.
Создание приложения Windows Forms с именем
BaseFormLibrary
.Чтобы создать библиотеку классов вместо стандартного приложения Windows Forms, в обозревателе решений, щелкните правой кнопкой мыши BaseFormLibrary узел проекта, а затем выберите свойства.
В свойствах проекта измените тип выходных данных из приложения Windows для библиотеки классов.
Из файл меню, выберите сохранить все сохранить проект и файлы в расположении по умолчанию.
Следующие две процедуры выполняют добавление кнопок на базовую форму. Чтобы продемонстрировать визуальное наследование, кнопкам будет заданы разные уровни доступа с помощью свойств Modifiers
.
Добавление кнопки, которую могут изменить наследники базовой формы
Откройте Form1 в конструкторе.
На все формы Windows Forms вкладке элементов, дважды щелкните кнопку Чтобы добавить кнопку в форму. Измените положение и размер кнопки с помощью мыши.
В окне "Свойства" задайте следующие свойства кнопки.
Задайте текст свойства Say Hello.
Задайте (имя) свойства btnProtected.
Задайте модификаторы свойства Protected. Это позволяет формам, производным от Form1 для изменения свойств btnProtected.
Дважды щелкните Say Hello , чтобы добавить обработчик событий для щелкните событий.
Добавьте следующий код в обработчик событий:
MessageBox.Show("Hello, World!")
MessageBox.Show("Hello, World!");
Добавление кнопки, которая не может изменяться наследующими объектами базовой формы
Перейдите в представление конструктора, щелкнув Form1.vb [Design], Form1.cs [Design] или [Design] Form1.jsl вкладке редактора кода или нажав клавишу F7.
Добавьте вторую кнопку и задайте ее свойства следующим образом.
Задайте текст свойства свидания.
Задайте (имя) свойства btnPrivate.
Задайте модификаторы свойства частного. Это не позволяет формам, производным от Form1 для изменения свойств btnPrivate.
Дважды щелкните свидания , чтобы добавить обработчик событий для щелкните событий. Добавьте следующую строку кода в процедуру обработки события.
MessageBox.Show("Goodbye!")
MessageBox.Show("Goodbye!");
Из построения меню, выберите собрать библиотеку BaseForm в сборку библиотеки классов.
После сборки библиотеки можно создать новый проект, наследуемый от только что созданной формы.
Создание проекта, содержащего форму, которая наследуется от базовой формы
Из файл меню, выберите добавить и затем новый проект открыть Добавление нового проекта диалоговое окно.
Создание приложения Windows Forms с именем
InheritanceTest
.
Добавление производной формы
В обозревателе решений, щелкните правой кнопкой мыши InheritanceTest проекта, выберите добавить, а затем выберите новый элемент.
В Добавление нового элемента выберите Windows Forms категорию (если у вас есть список категорий), а затем выберите производная форма шаблона.
Оставьте имя по умолчанию
Form2
и нажмите кнопку добавить.В Выбор компонентов для наследования выберите Form1 из BaseFormLibrary проект как формы для наследования и нажмите кнопку ОК .
Это создает форму в InheritanceTest проект, который является производным от формы в BaseFormLibrary.
Откройте производную форму (Form2) в конструкторе, дважды щелкнув его, если он еще не открыт.
В конструкторе производные кнопки имеют символ)) в верхнем углу, указывающее, они унаследованы.
Выберите Say Hello кнопку и понаблюдайте за маркеры изменения размера. Так как данная кнопка защищена, то наследники могут ее перемещать, изменять размер, название и вносить другие изменения.
Выберите частную свидания кнопки и обратите внимание, что он не имеет маркеров изменения размера. Кроме того, в свойства окне Свойства этой кнопки отображены серым цветом, чтобы указать, их нельзя изменить.
Если вы используете Visual C#:
В обозревателе решений, щелкните правой кнопкой мыши Form1 в InheritanceTest проекта, а затем выберите удалить. В появившемся диалоговом окне щелкните ОК для подтверждения удаления.
Откройте файл Program.cs и измените строку
Application.Run(new Form1());
наApplication.Run(new Form2());
.
В обозревателе решений, щелкните правой кнопкой мыши InheritanceTest проекта и выберите Назначить запускаемым проектом.
В обозревателе решений, щелкните правой кнопкой мыши InheritanceTest проекта и выберите свойства.
В InheritanceTest страницы свойств, задайте автоматически запускаемый объект на производную форму (Form2).
Нажмите клавишу F5 для запуска приложения и понаблюдайте за поведением производной формы.
Следующие шаги
Наследование для пользовательских элементов управления работает таким же образом. Откройте новый проект библиотеки классов и добавьте пользовательский элемент управления. Поместите на него составные элементы управления и скомпилируйте проект. Откройте еще один новый проект библиотеки классов и добавьте ссылку на скомпилированную библиотеку классов. Кроме того, попробуйте добавить наследуемый элемент управления (через Добавление новых элементов диалоговое окно) в проект и с помощью Выбор компонентов для наследования. Добавьте пользовательский элемент управления и измените Inherits
(:
в Visual C#) инструкции. Дополнительные сведения см. в разделе Как Наследование форм Windows Forms.