Наследование форм
Прежде всего следует сказать, что «визуальное наследование», часто упоминаемое в рекламных материалах по VB .NET, существует лишь в больном воображении специалистов по маркетингу. На самом деле речь идет о том, что формы, созданные в программе, могут использоваться как основа для определения новых форм посредством наследования. Конечно, это весьма удобно и полезно, но ничего принципиально нового в таком наследовании нет. Класс формы, производный от Windows. Forms. Form и дополненный специализированными свойствами, методами и событиями, в дальнейшем может использоваться в качестве базового для определения новых классов.[ История с «визуальным наследованием» как нельзя лучше демонстрирует тупость специалистов по рекламе. Возможно, эффектный термин поразит некомпетентноге менеджера, но у программистов он лишь вызывает раздражение. ]
Предположим, вы хотите создать для своей организации окно-заставку (splash screen), которое отдельные подразделения будут дополнять своими данными. Базовая форма создается следующим образом:
Предположим, вы хотите преобразовать стандартное приложение Windows в библиотеку классов, чтобы откомпилировать его в DLL вместо ЕХЕ-файла. Проще всего это делается так:
После построения библиотеки DLL остается лишь включить ссылку на нее в решение, после чего классы DLL используются в программе наравне с остальными классами. При выполнении команды Project > Add Inherited Form можно поручить IDE включить в проект весь необходимый код, для чего достаточно ответить на несколько вопросов в диалоговых окнах. С другой стороны, возня с диалоговыми окнами выглядит немного глупо, поскольку после включения ссылки на DLL в проект остается лишь привести первую строку приложения к следующему виду:
Public Class Form1
Inherits SplashScreenBase. Form1
Все остальное за вас сделает механизм наследования! Этот способ особенно хорош тем, что работа дизайнера автоматически синхронизируется с унаследованной формой.