Опубликован: 25.03.2010 | Доступ: свободный | Студентов: 1447 / 158 | Оценка: 4.31 / 4.00 | Длительность: 25:42:00
Лекция 18:

Пользовательские компоненты

Мастер создаст каталог решения MySolution для размещения нескольких взаимосвязанных проектов, в который поместит каталог проекта MyComponents и будет автоматически обертывать каждый новый класс проекта при его создании пространством имен MyComponents.

Для тренировки нам нужно настроить оболочку на автоматическое генерирование другого пространства имен для всех файлов проекта, которое бы уникально характеризовало нашу библиотеку компонентов. Для будущих компонентов мы выберем составное пространство имен MyCompany.MyComponents.

  • В панели Solution Explorer вызовите контекстное меню для корневого узла проекта MyComponents и выполните команду Properties. Для вкладки Application скорректируйте текстовое поле Default namespace как показано на рисунке

  • Удалите автоматически созданный оболочкой файл Class1.cs
  • В панели Solution Explorer выделите корневой узел проекта, выполните команду Project/Add Component и задайте имя файла FirstComponent.cs

  • В конструкторе файла щелкните на соответствующей ссылке или выполните команду контекстного меню, чтобы перейти в режим редактирования кода

Код заготовки компонента, созданный мастером, будет выглядеть так

using System;
using System.ComponentModel;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text;
    
namespace MyCompany.MyComponents
{
    public partial class FirstComponent : Component
    {
        public FirstComponent()
        {
            InitializeComponent();
        }
    
        public FirstComponent(IContainer container)
        {
            container.Add(this);
    
            InitializeComponent();
        }
    }
}
Листинг 18.1 . Код заготовки компонента FirstComponent

Обратите внимание, что класс объявлен как partial (частичный), что позволит для удобства чтения разбить его описание на отдельные части, или даже разместить эти описания в отдельных файлах. Удостоверьтесь, что теперь оболочка автоматически генерирует установленное нами составное пространство имен MyCompany.MyComponents.

  • Выполните команду Project/Add Reference, перейдите на вкладку .NET и, удерживая клавишу Ctrl, добавьте к проекту ссылки на библиотечные сборки (сборка mscorlib.dll подключается автоматически):
    1. System.dll
    2. System.Windows.Forms.dll
    3. System.Drawing.dll
  • Раскройте в панели Solution Explorer узел References и удалите из проекта ссылки на ненужные сборки, автоматически сгенерированные мастером оболочки

  • Откройте панель Object Browser, установите раскрывающийся список Browse в значение .NET Framework, раскройте сборку System.Windows.Forms, в которой найдите класс System.Windows.Forms.Control. Убедитесь, что класс Control является потомком класса System.ComponentModel.Component

Максим Филатов
Максим Филатов

Прошел курс. Получил код Dreamspark. Ввожу код на сайте, пишет:

Срок действия этого кода проверки уже истек. Проверьте, правильно ли введен код. У вас осталось две попытки. Вы также можете выбрать другой способ проверки или предоставить соответствующие документы, подтверждающие ваш академический статус.

 

Как активировать код?