Пользовательские элементы управления (для пользователей Visual Basic 6.0)
Обновлен: Ноябрь 2007
Как Visual Basic 6.0, так и Visual Basic 2008 позволяют создавать элементы управления; однако существует несколько отличий, которые следует знать.
Концептуальные различия
В Visual Basic 6.0 проекты UserControl (известные также как проекты элементов управления ActiveX) используются для создания элементов управления ActiveX. После компиляции объекты UserControl могут быть размещены в любом контейнере, поддерживающем ActiveX, включая формы Visual Basic 6.0 и обозреватель Internet Explorer.
В Visual Basic 2008 для создания элементов управления, которые могут быть размещены в приложениях Windows Forms, используются проекты библиотек элементов управления Windows.
Действие во время разработки
В Visual Basic 6.0 перед добавлением объекта UserControl в форму в режиме разработки нужно закрыть конструктор пользовательских элементов управления UserControl Designer; это приводит к автоматической компиляции (построению) элемента управления. При выполнении последовательных изменений объекта UserControl эти изменения не отражаются на экземпляре объекта UserControl, размещенном на форме, пока приложение не будет запущено; если конструктор пользовательских элементов управления UserControl Designer открыт, то он автоматически закроется.
В Visual Basic 2008 объект UserControl можно добавить в форму, не закрывая конструктор UserControl Designer; однако пользовательский элемент управления должен быть построен до его добавления в форму. Простое закрытие конструктора пользовательских элементов управления UserControl Designer не приводит к построению элемента управления. Любые последующие изменения пользовательского элемента управления не отражаются в конструкторе форм до повторного построения объекта UserControl; построение объекта UserControl выполняется автоматически при каждом запуске отладки тестового приложения.
Сохранение значений
В Visual Basic 6.0 события ReadProperties и WriteProperties используются для извлечения или сохранения значений объектов UserControl в объект PropertyBag.
В Visual Basic 2008 объект PropertyBag больше не поддерживается, а событий ReadProperties и WriteProperties больше не существует. Вместо этого для сохранения и извлечения значений свойств в двоичном или SOAP-формате используется сериализация. Дополнительные сведения см. в разделе Пошаговое руководство. Сохранение объекта в Visual Basic
Замечания по обновлению
При обновлении проекта UserControl версии Visual Basic 6.0 до версии Visual Basic 2008 он преобразуется в библиотеку элементов управления Windows; размещение обновленных элементов управления в обозревателе Internet Explorer становится невозможным.
См. также
Задачи
Пошаговое руководство. Сохранение объекта в Visual Basic
Основные понятия
Эквиваленты PropertyBag для пользователей Visual Basic 6.0
Другие ресурсы
Создание элементов управления Windows Forms во время разработки