"Анатомия" формы
"Анатомия" формы
Теперь, когда вы понимаете роль типа Application, следующей вашей задачей является непосредственное рассмотрение функциональных возможностей класса Form. Как и следует ожидать, класс Form наследует большинство своих функциональных возможностей от родительских классов. На рис. 19.3 показано окно Object Browser (в Visual Studio 2005), в котором отображается цепочка наследования производного от Form типа (вместе с набором реализованных интерфейсов).
Рис. 19.3. Происхождение типа Form
Полная цепочка наследования типа Form включает в себя множество базовых классов и интерфейсов, но здесь следует подчеркнуть, что вам, чтобы стать хорошим разработчиком приложений Windows Forms, совеем не обязательно понимать роль каждого члена всех родительских классов и каждого реализованного интерфейса в этой цепочке. Значения большинства членов (в частности, большинство свойств и событий), которые вы будете использовать ежедневно, очень просто устанавливаются с помощью окна свойств Visual Studio 2005. Перед рассмотрением конкретных членов, унаследованных типом Form от родительских классов, изучите информацию табл. 19.3, в которой описана роль соответствующих базовых классов.
Вы, наверное, сами понимаете, что подробное описание каждого члена всех классов в цепочке наследования Form потребует отдельной большой книги. Важно понять общие характеристики поведения, предлагаемого типами Control и Form. Bсe необходимые подробности о соответствующих классах вы сможете найти в документации .NET Framework 2.0 SDK.
Таблица 19.3. Базовые классы из цепочки наследования Form
Родительский класс Описание System.Object Как и любой другой класс .NET, класс Form – это объект (Object) System.MarshalByRefObject При обсуждении возможностей удаленного взаимодействия .NET (см. главу 18) уже подчеркивалось, что типы, полученные из этого класса, будут доступны по ссылке (а не по копии) удаленного типа System.ComponentModel.Component Обеспечивает используемую по умолчанию реализацию интерфейса IComponent. В терминах .NET компонентом называется тип, поддерживающий редактирование в режиме проектирования, но не обязательно видимый во время выполнения System.Windows.Forms.Control Определяет общие члены пользовательского интерфейса для всех элементов управления Windows Forms, включая саму форму System.Windows.Forms.ScrollableControl Определяет автоматическую поддержку прокрутки содержимого System.Windows.Forms.ContainerControl Обеспечивает контроль фокуса ввода для тех элементов управления, которые могут выступать в качестве контейнера для других элементов управления System.Windows.Forms.Form Представляет любую пользовательскую форму, дочернее окно MDI или диалоговое окно